Mengulang konten file di Bash

  • Post author:
  • Post category:Tutorial

Bash, Bourne-Again SHell, adalah shell baris perintah dan bahasa skrip populer yang banyak digunakan karena kesederhanaan dan kemudahan penggunaannya. Salah satu tugas paling umum yang mungkin perlu dilakukan menggunakan Bash adalah mengulangi konten file.
Advertisement
Dalam artikel ini, kita akan mengeksplorasi berbagai metode untuk mengulang konten file menggunakan skrip Bash, termasuk membaca baris demi baris dan kata demi kata word.
Metode 1: Menggunakan Perintah `while` Loop dan `read`

The `while` yang dikombinasikan dengan perintah `read` adalah metode yang paling umum untuk menelusuri konten file di Bash. Metode ini membaca file baris demi baris, yang sangat berguna untuk memproses file besar yang mungkin tidak muat ke dalam memori.

#!/bin/bash

namafile=”contoh.txt”

sementara IFS= baca -r baris
Mengerjakan
gema “$baris”
selesai < "$filename"12345678#!/bin/bash filename="example.txt" whileIFS=read-rlinedo  echo"$line"done<"$filename"

Dalam contoh ini, kami menggunakan `IFS` (Pemisah Bidang Internal ) untuk menentukan pembatas (secara default, baris baru) untuk memisahkan bidang dalam input. Perintah `read` membaca setiap baris, dan perintah `echo` mencetak baris ke console.
Metode 2: Menggunakan `for` Loop dan `cat` Command

Metode lain untuk mengulang konten file adalah menggunakan loop `for` dan perintah `kucing`. Metode ini kurang efisien daripada perintah `while` loop dan `read`, karena ia membaca seluruh file ke dalam memori sebelum melakukan perulangan melaluinya.

#!/bin/bash

namafile=”contoh.txt”

untuk baris di $(cat “$filename”)
Mengerjakan
gema “$baris”
done12345678#!/bin/bash filename=”example.txt” forline in$(cat”$filename”)do  echo”$line”done

Dalam contoh ini, kami menggunakan perintah `cat` untuk membaca seluruh konten file, dan loop `untuk` berulang pada setiap baris. Namun, metode ini membagi konten berdasarkan spasi putih (spasi, tab, dan baris baru) secara default, yang dapat menyebabkan perilaku tak terduga saat memproses file dengan beberapa kata per baris. Metode 3: Mengulang Melalui Kata dengan `IFS`

Jika Anda perlu memproses file kata demi kata, Anda dapat menggunakan variabel `IFS` untuk mengubah pembatas menjadi spasi.

#!/bin/bash

namafile=”contoh.txt”

JIKA=$` tn`
untuk kata dalam $(cat “$filename”)
Mengerjakan
gema “$kata”
done123456789#!/bin/bash filename=”example.txt” IFS=$` tn`forwordin$(cat”$filename”)do  echo”$word”done

Dalam contoh ini, kita menyetel variabel `IFS` ke kombinasi karakter spasi, tab, dan baris baru, yang memungkinkan perulangan untuk mengulangi kata-kata alih-alih baris. Metode 4: Menggunakan `awk` untuk Pengulangan Lanjutan

Untuk pemrosesan file yang lebih lanjut, Anda dapat menggunakan perintah `awk`, yang sangat ampuh alat pengolah teks dengan fungsionalitas perulangan bawaan.

#!/bin/bash

namafile=”contoh.txt”

awk `{ for (i=1; i<=NF; i++) print $i }` "$filename"12345#!/bin/bash filename="example.txt" awk`{ for (i=1; i< =NF; i++) print $i }`"$filename"

Dalam contoh ini, `awk` membaca file dan mengulang setiap bidang (kata) menggunakan variabel bawaannya `NF` (Jumlah Bidang) dan `$i ` (nilai bidang saat ini). Metode ini sangat berguna untuk tugas manipulasi teks yang lebih kompleks.
Kesimpulan

Dalam artikel ini, kami telah menjelajahi empat metode untuk mengulangi konten file di Bash: menggunakan loop `while` dan perintah `read`, loop `for` dan perintah `cat`, mengubah variabel `IFS` menjadi perulangan melalui kata-kata, dan menggunakan perintah `awk` untuk perulangan lanjutan. Bergantung pada kebutuhan Anda, pilih salah satu opsi di atas untuk mengulangi denda dalam skrip Shell.

Referensi tecadmin.com