Hvordan fjerne spesialtegn ved hjelp av SED

Hvordan fjerne spesialtegn ved hjelp av SED
SED -kommando er et Linux -verktøy som kan brukes til å utføre mange operasjoner som inkluderer innsats og slette operasjoner, finne/søke og erstatte operasjoner. SED -kommandoen lar Linux -brukere redigere og bruke flere funksjoner på filer uten å åpne dem direkte. SED -kommandoen støtter redigeringsfunksjoner som varierer fra nybegynnernivå til avansert nivå: for eksempel i en tekstfil kan disse operasjonene utføres på flere datatyper: tegn, numeriske, spesialtegn, alfanumerisk ET.,

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.