Holde synet på viktigheten av SED -kommando; Dagens guide vil utforske flere måter å fjerne spesialtegn ved å bruke SED -kommandoen i Ubuntu.
Syntaksen til SED -kommandoen er skrevet nedenfor:
Syntaks
sed [alternativer] kommando [filnavn]
Spesielle tegn kan noen ganger være et behov for innholdet som er skrevet i en tekstfil, men hvis de brukes unødvendig, vil de gjøre filen rotete, og det er sjansene for at leseren ikke kan ta hensyn, og dermed resultere i et målrettet dokument.
Hvordan bruke SED for å fjerne spesialtegn i Ubuntu
Denne delen vil kort beskrive måtene å fjerne spesialtegn fra en tekstfil ved hjelp av SED; Det avhenger av antall tegn i filen du vil fjerne; Det kan være to muligheter mens du fjerner tegnene fra en fil, enten vil du fjerne et enkelt spesielt tegn, eller du vil fjerne flere tegn på en gang. Fra disse mulighetene som er angitt ovenfor, har vi utvidet denne delen til to metoder som vil adressere begge mulighetene:
Metode 1: Hvordan fjerne et enkelt tegn ved hjelp av SED
Metode 2: Hvordan fjerne flere tegn på en gang ved hjelp av SED
Den første metoden adresserer den første muligheten, og den andre muligheten vil bli diskutert i metode 2, la oss grave i dem en etter en:
Metode 1: Hvordan fjerne en enkelt spesiell tegn ved hjelp av SED
Vi har laget en tekstfil "Ch.tekst”Det inneholder få spesialtegn på forskjellige linjer; Innholdet inne i filen vises nedenfor:
$ katt ch.tekst
Du kan legge merke til at innholdet inne "Ch.tekst”Er vanskelig å lese; For eksempel ønsker vi å fjerne karakter "#" fra tekstfilen; For dette må vi bruke følgende kommando for å fjerne “#” fra hele dokumentet:
$ sed 's/\#// g' ch.tekst
Hvis du vil fjerne den spesielle karakteren fra spesifikk linje; For det må du sette inn linjenummeret ved siden av "S" nøkkelordet som den nedenfor nevnte kommandoen vil fjerne “#” bare fra linje nummer 3:
$ sed '3s/\#// g' ch.tekst
Metode 2: Hvordan fjerne flere tegn på en gang ved hjelp av SED
Nå har vi en annen fil "fil.tekst”Det inneholder mer enn en type karakter, og vi ønsker å fjerne dem i en enkelt gang. I denne metoden endres syntaksen litt fra kommandoen over; For eksempel må vi fjerne fem tegn "#$%*@" fra "fil.tekst”;
For det første, se på innholdet i “fil.tekst”Når ordene blir avbrutt av disse karakterene;
$ kattefil.tekst
Kommandoen angitt nedenfor vil hjelpe til med å fjerne alle disse spesialtegnene fra “fil.tekst”:
$ sed 's/[#$%*@] // g' fil.tekst
Her kan vi tegne et annet eksempel, la oss si at vi bare vil fjerne noen få tegn fra spesifikke linjer.
Vi har opprettet en ny fil og innholdet i "Newfile.tekst”Vises nedenfor:
$ katt newfile.tekst
For dette har vi skrevet kommando som vil slette “#@”Og“%*”Fra linjer 2 og 3 av“Newfile.tekstHenholdsvis.
$ sed '2s/[#@] // g; 3s/[%*] // g 'newfile.tekst
SED-kommandoen som brukes i ovennevnte metoder vil bare vise resultatet på terminalen i stedet for å bruke endringene i tekstfilen: For det må vi bruke alternativet “-i” for SED-kommandoen. Det kan brukes med hvilken som helst SED -kommando, og endringene vil bli gjort i filen i stedet for å skrive ut på terminalen.
Konklusjon
Tilsynelatende fungerer SED -kommandoen som en vanlig tekstredigerer, men den har en langt mer omfattende liste over handlinger sammenlignet med andre redaktører. Du må bare skrive en kommando og endringene vil bli gjort automatisk; Denne funksjonen tiltrekker Linux -entusiaster eller brukerne som foretrekker terminal fremfor GUI. Etter de fordelaktige funksjonalitetene til SED; Guiden vår er fokusert på å fjerne spesialtegn fra tekstfilen. Hvis vi bare sammenligner denne funksjonen i SED -kommandoen med andre redaktører, må du søke etter tegn i hele filen og deretter fjerne dem en etter en er en kjedelig prosess. På den annen side utfører SED den samme handlingen ved å skrive en enkeltlinjekommando på terminalen.