Sed

Hapus baris dari awal sampai dengan baris dengan kata spesifik

Mungkin ini adalah catatan dengan judul terpanjang yang pernah kami tulis. Catatan ini berisi tentang bagaimana cara menghapus baris dari awal sampai dengan baris yang berawalan dengan kata-kata spesifik.

Contoh, punya file teks lagu.txt berisi sebagai berikut

kelelawar
by koes plus

kelelawar sayapnya hitam
terbang rendah di tengah malam
pagi-pagi mereka pulang
di dahan pohon bergelantungan
hitam
hitam
hitam

Teks tersebut dihapus sebagian, yaitu mulai baris pertama sampai dengan pagi-pagi. Dengan kata lain hanya tersisa di dahan pohon dst.

Ekstraksi waktu pada changelog dengan sed

Ini adalah keisengan di kala WFH alias work from home. Melakukan ekstraksi waktu pada changelog slackware64-current yang terakhir kami update 8 Januari 2021.

Changelognya terdiri dari 4 bagian:

  1. Waktu
  2. Packages yang mengalami perubahan (Upgraded, Removed, Added, Rebuilt)
  3. Keterangan perubahan
  4. Pembatas update antarwaktu (+————————–+)

Akan diambil yang no.1 saja.

Hapus semua baris. Yang berawalan Sun, Mon, Tue, Wed, Thu, Fri, Sat jangan hapus. Kemudian hasilnya dibuat file baru bernama changelog-date.txt.

$ sed '/^(Sun\|Mon\|Tue\|Wed\|Thu\|Fri\|Sat)/!d' /var/lib/slackpkg/ChangeLog.txt > changelog-date.txt

Hapus semua baris yang berakhiran dengan tanda titik.

Mengganti Kata Secara Massal

Dulu, saat masih menggunakan BlankOn, ternyata pada beberapa postingan di blog ini ada ketidakseragaman, yaitu tag blankOn dan blankon yang sebenarnya secara esensial sama saja.

Sekarang sudah diperbaiki. Kata “blankOn” yang ada di tiap file diganti “blankon”. Penggantian ini secara massal saja biar lebih praktis. Filenya di direktori _posts.

sed -i 's/blankOn/blankon/g' _posts/*.md