Bash Script While Loop Read Membaca Baris
While Loop adalah command control yang akan melakukan looping (perulangan) selama syarat kondisi bernilai true(benar) ini merupakan tipe nilai boolean. dengan dipadukan command read sangat membantu dalam membaca input standard input teks per-baris dan digunakan sebagai variable yang nantinya bisa digunakan untuk proses selanjutnya.
WHILE DO
Bentuk umum yang bisa digunakan seperti dibawha ini.
$while read VARIABLE
do
code
done
atau dalam bentuk 1 baris -nya
$ while read -r line; do echo ${line}; done
Admin akan praktekkan membaca output dari command cat yang kemudian dibaca menggunakan while dan read menggunakan PIPE line.
$ cat /etc/passwd | while read line; do echo ${line}; done
Tampilannya akan membaca semua out per baris yang di simpan dalam variable line dan di cetak dilayar.
Bisa juga menggunakan command cut untuk mendapatkan string dari text. Dalam percobaan berikutnya akan mencoba mendapatkan string user dari file /etc/passwd.
cut -d ":" -f 1 /etc/passwd | while read -r line; do echo ${line}; done
Untuk mendapatkan user dari file /etc/passwd perlu dilakukan pemisahan teks dimana delimiter / pembatas -nya adalah karacket “:” maka dari kita perlu opsi -d ":"
dan mengambil string pertama dari pembagian delimiter menggunakan opsi -f 1
tampilan outputnya seperti dibawah ini.
Out put juga bisa kita tulis kembali kedalam file baru sebagai hasil yang bisa diolah lagi nantinya. Contoh nya seperti dibawah.
# cut -d ":" -f 1 /etc/passwd | while read -r line; do echo ${line}; echo ${line} >> /home/test; sleep 1; done
Hasil sebelumnya akan di tulis kembali perbaris ke file /home/test
. Ada penambahan sleep 1
untuk delay memudahkan melihat bahwa yang dibaca dan ditulis ke file adalah perbaris
Kesimpulan
Dengan memanfaatkan while loop dan read sangat membantu dalam mengelola input text untuk dimasukkan dalam variable dan file. Cara yang membantu terutama untuk Sys Admin Linux.