Bash - Memasukan Filename ke Array
Posted on
Aku punya banyak file log, semuanya berekstensi .log. Aku ingin nama-nama file logku dimasukan ke array supaya aku bisa akses berdasarkan indexnya. Ini akan memudahkan untuk diolah. Aku memang tidak jago bash, makanya aku tulis disini supaya kelak aku bisa baca lagi.
Cara yang ku lakukan untuk memasukan filename ke array di bash:
cd /my/log/path/
logs=(); for log in *.log; do logs+=($log); done`
Kira-kira begini alurnya:
- Pindah ke direktori dimana log-log ku disimpan
logs=()
itu membuat array kosongfor ... done
itu for loop.logs+=($log)
itu append nama file ke array
Jadi kurang lebih sih: satu demi satu nama file dengan ekstensi .log di append ke array yang bernama logs. Sekarang array logs berisi semua filename log-log ku.
Untuk menampilkan array logs beserta nomor indexnya, aku pakai cara ini:
for log in "${!logs[@]}"; do printf "%s\t%s\n" "$log" "${logs[$log]}"; done;
${!logs[@]}
: Tampilkan semua index dari array logs
Dengan modal pengetahuan bash array diatas, aku jadi terbantu untuk melakukan beberapa task.