Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Bash Lanjutan

Pelajaran 6 dari 15

Mengolah teks: ekspansi parameter, sed, dan awk

sed: mengganti teks dan memilih baris

Setelah pelajaran ini kamu bisa mengganti teks dengan s///, memilih atau membuang baris berdasarkan nomor dan pola, memakai grup -E, dan menyunting berkas di tempat dengan -i.

±13 menitDiperiksa 5 Okt 2026

Materi

sed membaca masukan baris demi baris, menjalankan skripnya pada setiap baris, lalu mencetak hasilnya. Berkas aslinya tidak berubah kecuali dipakai -i. Perintah yang paling sering dipakai adalah s/lama/baru/: mengganti kemunculan pertama lama di setiap baris. Tambahan g di belakang mengganti semua kemunculan, dan I membuat pencocokan tidak membedakan huruf besar dan kecil.

sed 's/Medan/MDN/g' penjualan.csv
sed -i.bak 's/PORT=8080/PORT=9090/' app.conf

Alamat memilih baris yang dikenai perintah: angka seperti 3, $ untuk baris terakhir, /regex/ untuk baris yang cocok, dan rentang seperti 2,5. Perintah p mencetak dan d membuang. Karena sed mencetak setiap baris secara otomatis, p hampir selalu dipasangkan dengan -n: sed -n '2,4p' hanya mencetak baris 2 sampai 4. sed '1d' membuang baris judul, dan sed '/^#/d;/^$/d' membuang komentar serta baris kosong.

-i menulis hasilnya kembali ke berkas; -i.bak sekaligus menyimpan isi lama di berkas berakhiran .bak. Dengan -E, tanda kurung ( ) dan {n} langsung bermakna grup dan jumlah ulangan, dan isi grup dipakai lagi di bagian pengganti dengan \1, \2. Karakter sesudah s menjadi pemisah, jadi s#a#b# dipakai bila polanya memuat garis miring.

sed -E 's#([0-9]{2})/([0-9]{2})/([0-9]{4})#\3-\2-\1#' kehadiran.csv

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi