Izbrišite vrstice iz datoteke s sed

Unixov pripomoček SED zagotavlja učinkovit in vsestranski način brisanja ene ali več vrstic iz določene datoteke, ki ustreza potrebam uporabnika.

Ta ukaz Unix se uporablja za obdelavo ukazne vrstice . Ta pripomoček lahko uporabite za brisanje izrazov iz datoteke, ki jo je mogoče prepoznati z določitvijo ločila (kot je vejica, zavihek ali presledek), s številko vrstice ali z iskanjem niza, izraza ali naslova vrstice v skladnjo Sed.

Sed: Izbrišite eno ali več vrstic iz datoteke

Tukaj je, kako odstraniti eno ali več vrstic iz datoteke.

Sintaksa

 sed '[/] d'

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

/.../ = razmejitelji

n = številka vrstice

string = niz najdemo v vrstici

regex = regularni izraz, ki ustreza iskanemu vzorcu

addr = naslov vrstice (število ali vzorec)

d = izbriši

Primeri Sed

Tukaj je nekaj primerov, kako uporabiti zgornjo skladnjo.

Za odstranitev tretje vrstice uporabite naslednjo kodo:

 sed '3d' datotekaName.txt 

Odstranite vrstico, ki vsebuje niz "awk", z uporabo:

 sed '/ awk / d' ime datoteke.txt 

Zadnjo vrstico lahko odstranite tako, da vnesete:

 sed '$ d' filename.txt 

Ali pa odstranite vse prazne vrstice prek:

 sed '/ ^ $ / d' ime datoteke.txt

sed '/./!d' ime datoteke.txt

Odstranite ujemajočo se vrstico z regularnim izrazom (z odstranitvijo tistega, ki vsebuje digitalne znake, vsaj eno številko, ki se nahaja na koncu vrstice):

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

Odstranite interval med vrsticami 7 in 9:

 sed '7, 9d' filename.txt 

Enaka operacija kot zgoraj, vendar zamenjava naslova s ​​parametri:

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

Zgornji primeri se spremenijo samo na prikazu datoteke (stdout1 = zaslon).

Za trajne spremembe starih različic (<4) uporabite začasno datoteko za GNU sed z uporabo "-i [pripone]" :

 sed -i ".bak" '3d' filename.txt 
Prejšnji Članek Naslednji Članek

Top Nasveti