Slett linjer fra en fil ved hjelp av Sed
Denne Unix- kommandoen brukes til kommandolinjebehandling . Dette verktøyet kan brukes til å slette uttrykk fra en fil som kan identifiseres av en spesifiserende avgrenser (for eksempel komma, fan eller mellomrom), etter linjenummer, eller ved å søke etter en streng, et uttrykk eller adressen til en linje i Syntaxen til Sed.
Sed: Slett en eller flere linjer fra en fil
Slik fjerner du en eller flere linjer fra en fil.syntax
sed '[/] d'sed '{[/] [, ] [/] d'
/.../ = avgrensere
n = linjenummer
streng = streng funnet i linje
regex = vanlig uttrykk tilsvarende det søkte mønsteret
addr = adresse på en linje (tall eller mønster)
d = slette
Eksempler på Sed
Her er noen eksempler på hvordan du bruker syntaxen ovenfor.Bruk følgende kode for å fjerne den tredje linjen:
sed '3d' fileName.txt
Fjern linjen som inneholder strengen "awk, " ved å bruke:
sed '/ awk / d' filnavn.txt
Du kan fjerne den siste linjen ved å skrive inn:
sed '$ d' filnavn.txt
Eller fjern alle tomme linjer gjennom:
sed '/ ^ $ / d' filnavn.txtsed '/./!d' filnavn.txt
Fjern linjematchingen med et vanlig uttrykk (ved å fjerne en som inneholder digitale tegn, minst 1 siffer, plassert på slutten av linjen):
sed '/ [0-9 /] [0-9] * $ / d' filnavn.txt
Fjern intervallet mellom linjene 7 og 9:
sed '7, 9d' filnavn.txt
Samme operasjon som ovenfor, men erstatte adressen med parametere:
sed '/ -Start /, / - End / d' filnavn.txt
Ovennevnte eksempler endres bare ved visning av filen (stdout1 = skjerm).
For permanente endringer i de gamle versjonene (<4) bruk en midlertidig fil for GNU sed ved hjelp av "-i [suffix]" :
sed -i ".bak" '3d' filnavn.txt