|

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.

Similar Posts

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments