Menghapus Baris dari File Menggunakan Sed

Ajukan pertanyaan
Utilitas SED pada Unix menyediakan cara serba guna yang efektif untuk menghapus satu baris atau lebih, dari sebuah file agar sesuai dengan kebutuhan pengguna.

Perintah Unix ini digunakan sebgai kode command line processing. Utilitas ini dapat digunakan untuk menghapus ekspresi dari sebuah file yang dapat diidentifikasi menggunakan delimiter spesifik, seperti tanda koma, tab, spasi, nomor baris, atau dengan menemukan string, ekspresi, atau baris alamat pada syntax Sed.

Sed: Menghapus Satu Baris Atau Lebih dari Sebuah File

Berikut ini adalah cara menghapus satu baris atau lebih dari sebuah file:

Syntax

sed '{[/]<n>|<string>|<regex>[/]}d' <fileName>       
sed '{[/]<adr1>[,<adr2>][/]d' <fileName>


/.../= delimiter

n = nomor baris

string = string yang ditemukan pada sebuah baris

regex = ekspresi reguler untuk mencari susunan

addr = alamat baris (nomor atau susunan)

d = hapus

Beberapa Contoh Sed

Berikut ini adalah beberapa contoh penggunaan perintah syntax<ital> Sed. Gunakan kode berikut untuk menghapus baris ketiga:
sed '3d' fileName.txt

Menghapus baris berisi <ital>string
"awk" menggunakan::
sed '/awk/d' filename.txt

Anda dapat menghapus baris terakhir dengan mengetik perintah:
sed '$d' filename.txt

Atau menghapus semua baris kosong:
sed '/^$/d' filename.txt       
sed '/./!d' filename.txt

Hapus baris yang sesuai dengan ekspresi reguler (dengan mengeliminasi salah satu karakter digital, paling sedikit satu digit, yang terletak di akhir baris):
sed '/[0-9/][0-9]*$/d' filename.txt

Hapus interval antara baris 7 dan 9:
sed '7,9d' filename.txt 

Caranya sama dengan proses di atas, tapi perlu mengganti alamat dengan parameter berikut:
sed '/-Start/,/-End/d' filename.txt

Contoh di atas hanya berubah pada tampilan file (stdout1= screen).

Untuk perubahan permanen dari versi yang lama, (<4) gunakan file temporer untuk Sed GNU menggunakan "-i[suffix]":
sed -i".bak" '3d' filename.txt