Bash: saat membaca baris

Bash While Read Line



Saat Anda mengerjakan skrip bash, terkadang Anda mungkin perlu membaca file baris demi baris. Mari kita jelaskan dengan sebuah contoh. Anda memiliki beberapa data dalam file teks yang harus dieksekusi atau diproses dengan menggunakan skrip. Jadi, menjalankan skrip bash untuk memproses file teks jauh berbeda. Anda harus mengikuti sintaks tertentu untuk membaca file baris demi baris. Artikel ini akan membantu Anda membaca baris dari file menggunakan loop while di Bash.

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/bash
nama 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/bash
nama 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.