Disse 10 sed eksemplene vil gjøre deg til en Linux Power User

Disse 10 sed eksemplene vil gjøre deg til en Linux Power User

Redigering av tekstfiler og terminalutdata er en daglig jobb for de som administrerer Linux -maskiner. Kommandolinjeverktøy som sed lar en bruker endre og endre innholdet i en tekstfil direkte fra terminalvinduet.





I denne artikkelen vil vi diskutere sed -kommandoen i detalj, sammen med noen viktige eksempler som demonstrerer kraften til sed -verktøyet i Linux.





Hva er sed Command?

Sed -kommandoen, som er et akronym for Stream Editor , er et kommandolinjeverktøy som lar Linux-brukere utføre tekstbaserte operasjoner på filer og terminalutganger. Ved å bruke sed kan brukere finne og erstatte bestemte ord i en tekst, vise en bestemt del av utdataet og redigere tekstfiler uten å åpne dem.





De tre grunnleggende operasjonene som støttes av sed -kommandoen er:

  1. Innsetting
  2. Sletting
  3. Erstatning (Finn og erstatt)

Avanserte brukere kan også implementere vanlige uttrykk med sed -kommandoen for å redigere tekststrømmer mer effektivt.



Den grunnleggende syntaksen til kommandoen er:

sed [options] [pattern] [filepath]

...hvor alternativer er de forskjellige funksjonene til kommandoen, mønster er det vanlige uttrykket eller skriptet du vil matche, og filepath er banen til tekstfilen som inneholder teksten.





hvordan fikse høy cpu -bruk

10 Eksempler på Linux sed Command

Hvis du planlegger å bli en vanlig Linux -bruker, kan det være nyttig for deg å vite hvordan du redigerer filer, søker etter og erstatter bestemte ord og filtrerer terminalutgangen. Denne delen dekker noen eksempler på sed -kommandoen som definitivt vil gjøre deg til en Linux -strømbruker.

Vi bruker følgende tekstfil for demonstrasjon i innlegget.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Se en rekke linjer

Linux -kommandoer som hode og hale sender ut de første eller de siste ti linjene i en tekstfil. Men hva om du vil få innholdet mellom to spesifikke linjer i en fil? I slike situasjoner kan sed -kommandoen komme godt med.

For å sende innholdet mellom linjene 3 og 5 i filen tekstfil.txt :

sed -n '3,5p' textfile.txt

De -n flag hindrer sed fra å vise mønsterrommet på slutten av hver syklus. Du kan også bruke --stille og --stille alternativer i stedet for -n . De s argumentet står for skrive ut og brukes til å vise de matchede linjene for brukeren.

Utførelse av den ovennevnte kommandoen i eksempelfilen gir følgende utdata.

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

For å skrive ut hele filinnholdet bortsett fra det angitte området, bruker du d flagg i stedet for s i kommandoen:

sed '3,5d' textfile.txt

De d flagg sletter de matchede strengene fra utgangen og viser resten av innholdet.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Vis linjer som ikke er sammenhengende

Slik skriver du ut ikke-påfølgende linjer mellom flere områder i filen:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Produksjon:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

De -Og flagg hjelper til utfører flere handlinger ved hjelp av en enkelt kommando.

3. Sett inn mellomrom mellom linjene

Hvis du av en eller annen grunn vil sette inn tomme linjer mellom hver linje i en tekstfil, bruker du G argument med standard sed -kommandoen.

hvordan lage mod for minecraft
sed G textfile.txt

For å sette inn flere tomme linjer i utgangen, passerer du flere G argumenter atskilt med semikolon ( ; ) karakter.

sed 'G;G' textfile.txt

4. Erstatt et ord i en tekstfil

Hvis du vil erstatte hver forekomst av et bestemt ord med et annet ord, bruker du s og g argumenter med kommandoen. Den grunnleggende syntaksen for å erstatte ord med kommandoen sed er:

sed s/originalword/replaceword/g filename

Ved å bruke ovennevnte syntaks kan du erstatte ordet fantastisk med super i filen tekstfil.txt :

sed s/amazing/super/g textfile.txt

De s argument betegner substitusjon og g kommandoen brukes til å erstatte det matchende innholdet med det angitte erstatningsinnholdet.

For å erstatte den andre forekomsten av ordet med sed, send et tall til g argument. I dette tilfellet:

sed s/amazing/super/g2 textfile.txt

Hvis du vil ignorere tegnsaker mens du erstatter ord, bruker du gi i stedet for g , hvor Jeg står for overse sak.

sed s/Amazing/super/gi textfile.txt

I slekt: Bruker Vi? Slik åpner du en fil og deretter lagrer og avslutter

5. Erstatt ord i et område

Du kan også erstatte ord innenfor et bestemt område.

sed '2,5s/amazing/super/g' textfile.txt

6. Utfør flere substitusjoner samtidig

Hvis du vil utføre to eller flere substitusjoner samtidig, er det bare å skille kommandoene med semikolon ( ; ) karakter.

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

Systemet viser følgende utgang.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. Erstatt ord bare hvis det blir funnet en treff

Du kan også bruke sed -kommandoen til å erstatte et ord bare hvis en gitt treff er funnet på linjen. For eksempel for å erstatte ordet til med en hvis ordet oransje er tilstede i linjen:

sed -e '/orange/ s/a/an/g' textfile.txt

Når den ovennevnte kommandoen utstedes, sendes den ut:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Legg merke til at ordet til i rekken Dette er et eple ble ikke erstattet ettersom systemet ikke fant ordet oransje i det.

8. Erstatt ord med vanlige uttrykk

For de som vet hvordan de skal bruke vanlige uttrykk, blir det mye enklere å utføre operasjoner på strenger med sed -kommandoen. Du kan implementere vanlige uttrykk for å forbedre kommandoen.

For å erstatte alle forekomster av ordet Fantastisk eller fantastisk med super :

sed -e 's/[Aa]mazing/super/g' textfile.txt

På samme måte kan du også bruke avanserte regulære uttrykk for å utføre spesifikke operasjoner ved hjelp av sed -kommandoen.

9. Pipe sed med andre kommandoer

Du kan også kjede sed med andre Linux -kommandoer. For eksempel kan du rør lspci kommando med sed for å legge til tomme mellomrom mellom linjene i utgangen.

lspci | sed G

For å erstatte bestemte ord i utdataene fra ip ruteutstilling kommando:

ip route show | sed s/src/source/g

Den ovennevnte kommandoen erstatter ordet kilde i stedet for det opprinnelige ordet src .

I slekt: Hvordan bruke Find -kommandoen til å søke etter filer i Linux

10. Rediger og sikkerhetskopier den opprinnelige filen

Når du arbeider med systemfiler, er det viktig å sikkerhetskopiere den originale filen mens du gjør endringer. Dette vil hjelpe deg med å reversere endringene i tilfelle noe går i stykker.

For å sikkerhetskopiere den originale filen med sed, bruk -Jeg flagg i kommandoen.

hvordan legge til effekter til imessage
sed -i'.backup' 's/amazing/super/g' textfile.txt

En ny fil vil bli opprettet med navnet tekstfil.txt.backup . Du kan kontrollere at de to filene er forskjellige ved hjelp av forskj kommando.

diff textfile.txt textfile.txt.backup

Redigere strenger i Linux Med sed

Noen ganger, mens du jobber med tekstfiler på terminalen, blir det et must å formatere og redigere utdata for bedre lesbarhet. Sed og awk er kommandolinjeverktøy i Linux som lar en bruker arbeide effektivt med tekstfiler ved å dele dataene i separate linjer.

Mange brukere har vanskelig for å huske argumentene og flaggene til sed -kommandoen siden det er mange av dem som er tilgjengelige å bruke. Å vite hvordan du får kommandolinjemanualer for enhver Linux-kommando, vil hjelpe deg med å komme deg ut av slike situasjoner enkelt.

Dele Dele kvitring E -post 7 måter å få kommandolinjehjelp på Linux

Alle viktige kommandoer for å lære om Linux-kommandoer fra kommandolinjen

Les neste
Relaterte temaer
  • Linux
  • Tekstredigerer
  • Terminal
  • Ledeteksten
Om forfatteren Deepesh Sharma(79 artikler publisert)

Deepesh er Junior Editor for Linux ved MUO. Han skriver informasjonsguider på Linux, med sikte på å gi alle nykommere en lykkelig opplevelse. Usikker på filmer, men hvis du vil snakke om teknologi, er han din fyr. På fritiden kan du finne ham lese bøker, lytte til forskjellige musikksjangre eller spille gitar.

Mer fra Deepesh Sharma

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere