Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Mengulang konten file di Bash


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.comArtikel Diperbarui pada: March 22, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically