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 5 dari 15

Mengolah teks: ekspansi parameter, sed, dan awk

Ekspansi parameter: memotong dan mengganti teks

Setelah pelajaran ini kamu bisa membuang awalan atau akhiran, mengganti teks, dan memberi nilai bawaan dengan ekspansi parameter tanpa memanggil program lain.

±13 menitDiperiksa 5 Okt 2026

Materi

Ekspansi parameter mengolah isi variabel langsung di dalam bash, tanpa menjalankan program seperti sed atau basename. Polanya pola glob, sama dengan di case. Bentuk # membuang awalan terpendek yang cocok dan ## awalan terpanjang; % membuang akhiran terpendek dan %% akhiran terpanjang. Isi variabelnya sendiri tidak berubah; hasilnya hanya dipakai di tempat ekspansi itu ditulis.

EkspansiHasil untuk f=/srv/data/penjualan.2026.csv
${f##*/}penjualan.2026.csv (nama berkas tanpa folder)
${f%/*}/srv/data (foldernya)
${f%.*}/srv/data/penjualan.2026 (tanpa akhiran terakhir)
${f%%.*}/srv/data/penjualan (tanpa semua akhiran)
${#f}28 (panjang teks)

Penggantian ditulis ${v/lama/baru} untuk kemunculan pertama dan ${v//lama/baru} untuk semua kemunculan. ${v:awal:panjang} mengambil potongan, misalnya ${t:0:4} untuk tahun dari 2026-09-22. Nilai bawaan ditulis ${v:-isi}, yang memakai isi bila v kosong tanpa mengubah v; ${v:=isi} sekaligus menyimpannya ke v.

for f in foto/*.jpeg; do
  mv "$f" "${f%.jpeg}.jpg"
done

TUJUAN=${1:-cadangan}

Cara mengingat arah: di papan ketik, # ada di kiri $ dan % di kanannya, jadi # memotong dari depan dan % dari belakang. Kesalahan umum: memakai %% padahal yang dimaksud %, sehingga nama berkas bertitik seperti penjualan.2026.csv kehilangan lebih banyak dari yang diinginkan.

Latihan

0/3 lulus

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

Latihan 3 dari 3

Apa yang dicetak potongan berikut?

f=/srv/arsip/laporan.2026.tar.gz
echo "${f%.*}"
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi