Sintaks asas baris baca
Sintaks berikut digunakan untuk bash shell untuk membaca fail menggunakan while loop:
sementara membaca -rgarisan;
buat
membuang '$ baris';
selesai <input.file
Pilihan ‘-r’ dalam sintaks yang disebutkan di atas diteruskan untuk membaca arahan yang mengelakkan garis miring terbalik daripada ditafsirkan. Pilihan ‘input_file’ telah mewakili nama fail anda yang ingin anda akses dengan menggunakan perintah ‘baca’.
Pemisah medan dalaman yang disingkat IFS dapat digunakan sebelum perintah baca diatur ke rentetan nol yang menghalang ruang kosong yang mengarah ke depan atau di belakang.
sementara IFS=membaca -rgarisan;
buat
membuang $ baris;
selesai <input.file
Buka terminal menggunakan pintasan Ctrl + Alt + t dan kemudian jalankan arahan berikut di atasnya.
Contoh # 1: Pembacaan Fail mengikut baris
Mari kita ambil contoh di mana kita mempunyai fail bernama OS.txt yang mengandungi nama semua distribusi Linux yang penting. Sekiranya anda ingin membaca fail tanpa menggunakan perintah ‘cat’ maka, untuk tujuan ini anda dapat menjalankan perintah berikut untuk melakukan tugas tertentu. Kami akan menggunakan loop sementara yang akan membaca setiap baris dari OS.txt fail dan menyimpan kandungan dalam setiap langkah dalam baris $ pemboleh ubah yang dapat anda paparkan kemudian.
Tampalkan nama pengedaran Linux berikut di OS.txt
CentOS
Ubuntu
Debian
LinuxMint $sementara membacagarisan;
buat
membuang $ baris;
selesai <OS.txt
Dari arahan di atas, anda akan mendapat respons berikut di tetingkap terminal:
Contoh # 2: Membaca fail menggunakan skrip bash
Buat fail bash dan kemudian tambahkan kod yang disebutkan di bawah ini dalam fail ini untuk membaca kandungan fail. Anda boleh menyimpan fail teks sebelumnya ke dalam nama fail $ variabel baru dan pemboleh ubah $ n digunakan untuk mengekalkan nilai setiap baris. Sekarang, dengan menggunakan loop sementara kita akan membaca setiap baris dari fail dengan nombor baris tertentu.
#! / bin / bashnama fail='OS.txt'
n=1
sementara membacagarisan;
buat
# untuk membaca setiap baris
membuang Talian pengedaran OS No.$ n:$ baris'
n= $((n +1))
selesai < $ nama fail
Simpan fail dengan nama OSinfo.sh dan ketik perintah berikut di terminal untuk menjalankan skrip bash di atas.
$bashOSinfo.sh
Sekarang, jalankan perintah kucing untuk melihat kandungan fail asal.
$kucingOS.txt
Kaedah Alternatif untuk membaca fail
Menggunakan nama fail lulus dari arahan
Dalam fail bash, anda perlu menambahkan skrip kod berikut. Dalam skrip ini, kita harus mengambil nama fail sebagai argumen. Pertama, nilai argumen dibaca oleh pemboleh ubah $ 1 yang mempunyai nama fail untuk dibaca. Ia akan memeriksa bahawa nama fail wujud di lokasi yang ditentukan kemudian menggunakan loop sementara membaca fail demi baris yang serupa dengan contoh sebelumnya.
#! / bin / bashnama fail=$ 1
sementara membacagarisan;buat
# membaca setiap baris
membuang $ baris
selesai < fail $.txt
Simpan skrip di atas dengan bernama ‘Readline.sh’ dan jalankan perintah berikut di terminal untuk menjalankan skrip yang disebutkan di atas:
Dalam output di atas, anda akan melihat bahawa fail 'OSinfo.txt' dilewatkan sebagai argumen dan kandungan 'OSinfo.txt' akan dipaparkan setelah menghapus ruang tambahan. Anda boleh memaparkan kandungan fail asal dengan menjalankan ‘cat OSinfo.txt’.
Kesimpulannya
Dalam artikel ini, kami telah membincangkan cara membaca baris menggunakan loop sementara dalam pengaturcaraan bash. Kami telah menerapkan kaedah yang berbeza menggunakan skrip bash atau anda hanya dapat menggunakan file teks untuk melakukan pembacaan baris demi baris tugas. Sekiranya anda berminat untuk mengetahui lebih banyak contoh, kemudian gunakan sintaks yang disebutkan di atas, anda juga boleh melaksanakannya di sistem anda. Saya harap anda menikmati tutorial ini dan unik untuk anda. Beritahu sekiranya terdapat kesilapan.