Skrip dan Pola sed yang Berguna
(github.com)- Cetak hanya 1 baris
→sed -n '10p' file.txt - Ganti karakter di semua baris kecuali baris ke-5
→sed '5!/s/foo/bar/' file.txt - Ganti dengan regex di semua baris yang diawali karakter tertentu
→sed '/^hello/ s/h/H/' file.txt - Ganti hanya dari baris ke-5 sampai baris terakhir
→sed '5,$ s/foo/bar/' file.txt - Hapus file kosong
→sed '/^$/d' file - Cetak semua baris di antara dua regex
→sed -nE '/^foo/,/^bar/p' file.txt - Gunakan delimiter kustom agar lebih mudah mencari string yang mengandung slash
→sed 's_/bin/bash_/bin/sh_' file.txt - Hapus string duplikat yang dipisahkan spasi (yang muncul tiga kali dikecualikan)
→sed -E 's_([a-zA-Z0-9_]+) \\1_\\1_ig' f1 - Cari pola tertentu lalu ubah, dan simpan hanya yang dimodifikasi ke file lain
→sed 's_foo_bar_w replaced.txt' file.txt - Ganti beberapa hal sekaligus
→sed -e 's_foo_bar_' -e 's_hello_HELLO_' file.txt - Hapus semua komentar di antara dua keyword lalu sisipkan baris kosong
→sed -E '/start/,/end/ s/#.*//' file.txt - Hapus semua komentar yang diawali dengan #
→sed -E '/^#/d' f1 - Cetak hanya sampai pola tertentu muncul
→sed '/start/q' file.txt - Sisipkan file setelah baris tertentu
→sed '5 r newfile.txt' file.txt - Tambahkan teks pada baris setelah bagian yang cocok dengan regex tertentu
→sed '/foo/a\\AFTER FOO' file.txt - Ganti baris yang cocok dengan regex tertentu
→sed '/foo/c\\FOO IS CHANGED' file.txt - Simpan semua komentar yang diawali dengan # ke file lain
→sed -E '/^#/w comments.txt' file.txt - Cetak setiap baris kedua saja (bisa diubah menjadi 3/4 dan seterusnya)
→sed -n '1~2p' file.txt - Edit file secara langsung sambil membuat backup
→sed -i.bak 's/hello/HELLO/' file.txt - Tambahkan dua baris kosong setelah regex yang cocok
→sed -E '/^#/G G' file.txt
1 komentar
Mengetahui bahwa karakter selain slash juga bisa dipakai sebagai delimiter benar-benar tip yang wajib diketahui.
Ini cukup sering berguna, misalnya saat mengganti URL repositori apt karena cukup sering perlu menangani slash