Cara membaca fail demi baris dalam skrip Bash

How Read File Line Line Bash Script



Bagaimana anda menulis skrip Bash yang dapat memproses fail teks satu baris pada satu masa. Pertama anda memerlukan sintaks dan pendekatan untuk membaca baris demi baris fail. Kaedah untuk pendekatan ini ditunjukkan dalam tutorial ini.

Katakan, anda mempunyai fail bernama syarikat.txt yang mengandungi nama syarikat. Fail ini mengandungi kandungan berikut.







Syarikat.txt
Samsung
Nokia
LG
Simfoni
iphone

Contoh -1: Membaca kandungan fail dari baris arahan

Katakan, anda mahu membaca fail, syarikat.txt , baris demi baris dari baris perintah tanpa 'Kucing' arahan. Jalankan arahan berikut untuk melakukan tugas. sementara gelung akan membaca setiap baris dari fail syarikat.txt dalam setiap langkah dan simpan kandungan baris dalam $ baris pemboleh ubah yang akan dicetak kemudian.



$sementara membacagarisan;buat membuang $ baris;selesai <syarikat.txt



Contoh -2: Membaca kandungan fail menggunakan skrip

Buat fail bash dan tambahkan kod berikut untuk membaca kandungan fail tertentu. Di sini, nama fail yang ada disimpan di $ nama fail pemboleh ubah dan $ n pemboleh ubah digunakan untuk mengekalkan nilai nombor baris fail itu. Seperti contoh sebelumnya, sementara gelung digunakan untuk membaca fail ini dengan nombor baris.





#! / bin / bash
nama fail='syarikat.txt'
n=1
sementara membacagarisan;buat
# membaca setiap baris
membuang 'Talian No.$ n:$ baris'
n= $((n +1))
selesai < $ nama fail

Jalankan arahan berikut untuk melaksanakan skrip.

$bashreadfile1.sh

Lari 'Kucing' perintah dengan syarikat.txt fail untuk memaparkan kandungan asal syarikat.txt fail.



$ syarikat kucing.txt

Contoh -3: Menghantar nama fail dari baris arahan dan membaca fail

Buat fail bash dan tambahkan skrip berikut. Skrip ini akan mengambil nama fail dari argumen baris perintah. Nilai argumen pertama dibaca oleh pemboleh ubah $ 1 yang akan mengandungi nama fail untuk membaca. Sekiranya fail itu ada di lokasi semasa maka sementara gelung akan membaca baris demi baris fail seperti contoh sebelumnya dan mencetak kandungan fail.

#! / bin / bash
nama fail=$ 1
sementara membacagarisan;buat
# membaca setiap baris
membuang $ baris
selesai < $ nama fail

Jalankan skrip di atas dengan pekerja.txt fail sebagai nilai hujah. Keluaran akan menunjukkan kandungan pekerja.txt fail dengan membuang ruang tambahan. Anda boleh menunjukkan kandungan asal pekerja.txt fail dengan menggunakan 'Kucing' arahan.

$ bash readfile2.txt pegawai.txt
$ cat pegawai.txt

Contoh - 4: Membaca fail dengan menghilangkan garis miring balik

Sekiranya anda ingin membaca setiap baris fail dengan menghilangkan garis miring balik maka anda harus menggunakan ‘-R’ pilihan dengan arahan baca di sementara gelung.

#! / bin / bash
sementara membaca -rgarisan;buat
# Membaca setiap baris
membuang $ baris
selesai <syarikat2.txt

Buat fail bernama syarikat2.txt dengan garis miring terbalik dan jalankan arahan berikut untuk melaksanakan skrip. Keluaran akan menunjukkan kandungan fail tanpa garis miring terbalik.

$bashreadfile3.sh

Anda perlu membaca fail untuk banyak tujuan pengaturcaraan. Sebagai contoh, anda boleh mencari atau memadankan kandungan tertentu dengan mudah dari mana-mana fail dengan membaca setiap baris secara berasingan. Jadi, ini adalah tugas penting untuk pengaturcaraan apa pun. Beberapa contoh mudah membaca fail dalam skrip bash ditunjukkan dalam tutorial ini. Ini akan membantu anda mendapatkan idea untuk membaca kandungan fail secara demi baris dengan menggunakan while loop dalam skrip bash dan menggunakan skrip anda dengan lebih berkesan. Untuk maklumat lebih lanjut, tonton video itu !