Sintaks dasar saat membaca baris
Sintaks berikut digunakan untuk bash shell untuk membaca file menggunakan while loop:
ketika Baca -Rgaris;
melakukan
dibuang '$baris';
selesai <masukan.file
Opsi '-r' dalam sintaks yang disebutkan di atas diteruskan ke perintah baca yang menghindari lolosnya backslash dari interpretasi. Opsi 'input_file' telah mewakili nama file Anda yang ingin Anda akses dengan menggunakan perintah 'baca'.
Pemisah bidang internal disingkat IFS dapat digunakan sebelum perintah baca diatur ke string nol yang mencegah spasi spasi awal atau akhir dipangkas.
ketika IFS=Baca -Rgaris;
melakukan
dibuang $baris;
selesai <masukan.file
Buka terminal menggunakan pintasan Ctrl + Alt + t dan kemudian jalankan perintah berikut di atasnya.
Contoh #1: Membaca File baris demi baris
Mari kita ambil contoh di mana misalkan kita memiliki file bernama OS.txt yang berisi nama-nama semua distribusi Linux yang penting. Jika Anda ingin membaca file tanpa menggunakan perintah 'cat', untuk tujuan ini Anda dapat menjalankan perintah berikut untuk melakukan tugas tertentu. Kami akan menggunakan while loop yang akan membaca setiap baris dari file OS.txt dan menyimpan konten di setiap langkah dalam variabel $line yang dapat Anda tampilkan nanti.
Tempelkan nama distribusi Linux berikut di OS.txt
CentOS
Ubuntu
Debian
LinuxMint $ketika Bacagaris;
melakukan
dibuang $baris;
selesai <OS.txt
Dari perintah di atas, Anda akan mendapatkan respons berikut di jendela terminal:
Contoh #2: Membaca file menggunakan skrip bash
Buat file bash dan kemudian tambahkan kode yang disebutkan di bawah ini dalam file ini untuk membaca konten file. Anda dapat menyimpan file teks sebelumnya ke dalam variabel baru $filename dan variabel $n digunakan untuk menyimpan nilai setiap baris. Sekarang, dengan menggunakan while loop kita akan membaca setiap baris dari file dengan nomor baris tertentu.
#!/bin/bashnama file='OS.txt'
n=1
ketika Bacagaris;
melakukan
# untuk membaca setiap baris
dibuang 'Jalur distribusi OS no.$n:$baris'
n= $((n+1))
selesai < $nama file
Simpan file dengan nama OSinfo.sh dan ketik perintah berikut di terminal untuk menjalankan skrip bash di atas.
$pestaOSinfo.sh
Sekarang, jalankan perintah cat untuk melihat konten file asli.
$kucingOS.txt
Metode Alternatif untuk membaca file
Menggunakan melewati nama file dari perintah
Dalam file bash, Anda perlu menambahkan skrip kode berikut. Dalam skrip ini, kita harus mengambil nama file sebagai argumen. Pertama, nilai argumen dibaca oleh variabel $1 yang memiliki nama file untuk dibaca. Ini akan memeriksa bahwa nama file ada di lokasi yang ditentukan kemudian menggunakan loop sementara itu membaca file baris demi baris mirip dengan contoh sebelumnya.
#!/bin/bashnama file=$1
ketika Bacagaris;melakukan
# membaca setiap baris
dibuang $baris
selesai < $berkas.txt
Simpan skrip di atas dengan nama 'Readline.sh' dan jalankan perintah berikut di terminal untuk menjalankan skrip yang disebutkan di atas:
Pada output di atas, Anda akan mengamati bahwa file 'OSinfo.txt' lewat sebagai argumen dan konten 'OSinfo.txt' akan ditampilkan setelah menghapus spasi tambahan. Anda dapat menampilkan konten file asli dengan menjalankan 'cat OSinfo.txt'.
Kesimpulan
Pada artikel ini, kita telah membahas cara membaca baris menggunakan loop while dalam pemrograman bash. Kami telah menerapkan metode yang berbeda menggunakan skrip bash atau Anda cukup menggunakan file teks untuk melakukan membaca file baris demi baris tugas. Jika Anda tertarik untuk mempelajari lebih banyak contoh maka dengan menggunakan sintaks yang disebutkan di atas, Anda juga dapat mengeksekusi di sistem Anda. Saya harap Anda menikmati tutorial ini dan akan unik untuk Anda. Beri tahu jika ada kesalahan.