Izbrišite vrstice iz datoteke s sed
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.txtsed '/./!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