Metode 1: Hvordan slette alle tomme linjer i en tekstfil ved hjelp av SED
La oss forstå syntaksen for å slette tomme linjer ved å bruke SED:
Syntaks
sed [alternativer] '/^$/d' [filnavn]
'/^$/d'er kjernedelen av denne kommandoen; hvor "^”Symbol viser at slettingen må utføres fra begynnelsesmidlene fra første linje; “$”Representerer at den må gå til den siste linjen i tekstfilen og“d”Viser at sletting pågår.
Denne delen vil guide deg til å slette alle linjene i en tekstfil ved hjelp av Stream Editor (SED):
Vi har laget en tekstfil "slett.tekst; For det første, få innholdet i denne filen ved å bruke "katt”Kommando som gitt nedenfor, og vi har brukt“-n”Alternativ med det, slik at vi også kan få linjenumre:
Det observeres at det er flere tomme linjer, og de påvirker estetikken til denne tekstfilen, og leserne kan ikke ta hensyn til slikt innhold.
$ cat -n slett.tekst
Så for å unngå ovennevnte situasjon; Du må fjerne de tomme linjene for å effektivisere leseprosessen; Kommandoen nevnt nedenfor vil fjerne alle disse linjene fra “slett.tekst”Fil.
Nå kan du legge merke til at de tomme linjene blir vasket ut og bare disse linjene er skrevet ut som inneholder litt tekst, men resultatet vises bare på terminalen mens den opprinnelige filen forblir den samme:
$ sed '/^$/d' slett.tekst
Hvis du vil fjerne de tomme linjene og oppdatere den opprinnelige filen også, må du bruke alternativet på stedet "-Jeg”Og den nedenfor-nevnte kommandoen vil hjelpe deg å gjøre det:
$ sed -i '/^$/d' slett.tekst
Metode 2: Hvordan slette utvalgte tomme linjer i en tekstfil ved hjelp av SED
Syntaksen for å slette spesifikke linjer i en tekstfil er skrevet nedenfor:
Syntaks
sed [alternativer] '(linjetall) d' [filnavn]
Hoveddelen av syntaks som kommandoen er avhengig av er “(linjetall) D '”; Du må legge det nøyaktige linjen antall tom linje i “(linjenummer)”Og brevet“d”Viser at det innsatte linjenummeret blir slettet:
Du kan slette noen spesifikke linjer i en tekstfil ved hjelp av SED -kommando; Vi har laget en ny tekstfil “ny.tekst”For denne delen. For eksempel viser output fra kommandoen nedenfor at linjenummer "2" er tom:
$ katt -n newfile.tekst
Og hvis du bare vil kjøre kommandoen for å slette denne linjen, må du spesifisere linjenummeret som vi gjorde i kommandoen nevnt nedenfor:
$ sed '2d' newfile.tekst
Du kan også slette påfølgende linjer ved å bruke denne metoden; for eksempel "ny.tekst”Filen har 3 tomme linjer”4,5,6”Som det kan sees på bildet nedenfor:
$ katt -n ny.tekst
Å fjerne disse tre påfølgende linjene; du må sette inn “,”Mellom start- og sluttlinjetallene som kan sees i kommandoen nedenfor:
$ sed '4,6d' ny.tekst
Til slutt kan du også bruke alternativet på plass "-Jeg”For å lagre endringene permanent i filen som uten dette alternativet, skriver SED -kommandoen ut resultatet på terminalen, da vi har endret kommandoen ovenfor for å bruke den med"-Jeg”Alternativ:
$ sed -i '4,6d' ny.tekst
Konklusjon
Ubuntu støtter flere måter å manipulere dataene i en tekstfil; For eksempel kan du bruke standard tekstredaktør av Ubuntu, Nano Editor etc. Imidlertid leder SED -kommandolinjens verktøyet til Ubuntu alle disse redaktørene på grunn av dens funksjonaliteter som å få tilgang til filen fra terminalen og gjøre endringer uten å åpne den. I denne artikkelen har vi brukt SED -kommandoen for å fjerne de tomme linjene fra tekstfilen og beskrevet to metoder for denne operasjonen. “Metode 1”Er egnet spesielt når du har hundrevis av linjer i en tekstfil og du vil slette alle tomme linjer samtidig: på den annen side,"Metode 2”Er egnet for å slette de tomme linjene i et lite dokument der du kan slette linjer en etter en. Imidlertid må du se etter tomme linjer selv, hvis du vil følge "Metode 2”: Så hvis sammenligningen er trukket mellom begge metodene,“Metode 1”Utkonkurrerer”Metode 2”Om sletting av tomme linjer.