Padamkan Talian dari Fail Menggunakan Sed

Utiliti Unix SED menyediakan cara yang berkesan dan serba boleh untuk memadamkan satu atau lebih baris dari fail yang ditetapkan untuk memenuhi keperluan pengguna.

Perintah Unix ini digunakan untuk pemproses arahan baris . Utiliti ini boleh digunakan untuk memadamkan ungkapan dari fail yang boleh dikenalpasti oleh pembatas khusus (seperti koma, tab, atau ruang), melalui nombor baris, atau dengan mencari rentetan, ungkapan atau alamat baris dalam sintaks Sed.

Sed: Padam Satu atau Lebih Lines daripada Fail

Berikut adalah cara untuk menghapus satu atau lebih baris dari fail.

Sintaks

 sed '[/] d'

sed '{[/] [, ] [/] d'

/.../ = delimiters

n = nombor baris

string = rentetan yang terdapat dalam baris

regex = ungkapan biasa sepadan dengan corak yang dicari

addr = alamat baris (nombor atau corak)

d = padam

Contoh Sed

Berikut adalah beberapa contoh cara menggunakan sintaks di atas.

Gunakan kod berikut untuk mengalih keluar garisan ketiga:

 sed '3d' fileName.txt 

Keluarkan garisan yang mengandungi rentetan "awk, " dengan menggunakan:

 sed '/ awk / d' filename.txt 

Anda boleh mengalih keluar garisan terakhir dengan menaip:

 sed '$ d' filename.txt 

Atau hapuskan semua baris kosong melalui:

 sed '/ ^ $ / d' filename.txt

sed '/./!d' filename.txt

Keluarkan padanan baris dengan ungkapan biasa (dengan menghapuskan satu yang mengandungi aksara digital, sekurang-kurangnya 1 digit, terletak pada akhir baris):

 sed '/ [0-9 /] [0-9] * $ / d' filename.txt 

Keluarkan selang antara baris 7 dan 9:

 sed '7, 9d' filename.txt 

Operasi yang sama seperti di atas tetapi menggantikan alamat dengan parameter:

 sed '/ -Start /, / - End / d' filename.txt 

Contoh di atas hanya diubah pada paparan fail (stdout1 = skrin).

Untuk perubahan kekal pada versi lama (<4) gunakan fail sementara untuk GNU sed menggunakan "-i [suffix]" :

 sed -i ".bak" '3d' filename.txt 
Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama