Å redigere tekstfiler og terminalutgang er en daglig jobb for de som administrerer Linux-maskiner. Kommandolinjeverktøy som sed tillater en bruker å endre og endre innholdet i en tekstfil rett fra terminalvinduet.
I denne artikkelen vil vi diskutere sed-kommandoen i detalj, sammen med noen viktige eksempler som viser 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 hjelp av sed kan brukere finne og erstatte bestemte ord i en tekst, vise en viss del av utdataene og redigere tekstfiler uten å åpne dem.
De tre grunnleggende operasjonene som støttes av sed-kommandoen er:
- Innsetting
- Sletting
- Bytte (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 [opsjoner] [mønster] [filbane]
...hvor alternativer er de forskjellige funksjonene i kommandoen, mønster er det vanlige uttrykket eller skriptet du vil matche, og filesti er banen til tekstfilen som inneholder teksten.
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øke og erstatte bestemte ord og filtrere terminalutgangen. Denne delen dekker noen eksempler på kommandoen sed som definitivt vil gjøre deg til en Linux-strømbruker.
Vi vil bruke følgende tekstfil for demonstrasjon i innlegget.
Dette er en demo-tekstfil.
Det er en fantastisk fil som vil hjelpe oss alle.
Sed-kommandoen er også flott for strømredigering.
Vil du lære hvordan du bruker kommandoen?
Dette er en annen linje i filen.
Dette er den tredje generelle linjen i filen.
Denne filen er navngitt som tekstfil.
Dette er et eple.
Dette er en appelsin.
1. Vis 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 til nytte.
Å sende innholdet mellom linje 3 og 5 i filen textfile.txt:
sed -n '3,5p' textfile.txt
De -n flagg hindrer sed fra å vise mønsterområdet på slutten av hver syklus. Du kan også bruke --stille og --stille alternativer i stedet for -n. De s argument står for skrive ut og brukes til å vise de samsvarende linjene til brukeren.
Å utføre den nevnte kommandoen på eksempelfilen gir følgende utdata.
Sed-kommandoen er også flott for strømredigering.
Vil du lære hvordan du bruker kommandoen?
Dette er en annen linje i filen.
Hvis du vil sende ut hele filinnholdet, unntatt det angitte området, bruker du d flagg i stedet for s i kommandoen:
sed '3,5d' textfile.txt
De d flagg sletter de samsvarende strengene fra utdataene og viser resten av innholdet.
Dette er en demo-tekstfil.
Det er en fantastisk fil som vil hjelpe oss alle.
Dette er den tredje generelle linjen i filen.
Denne filen er navngitt som tekstfil.
Dette er et eple.
Dette er en appelsin.
2. Vis linjer som ikke er sammenhengende
Slik skriver du ut ikke sammenhengende linjer mellom flere områder i filen:
sed -n -e '1,2p' -e '5,6p' textfile.txt
Produksjon:
Dette er en demo-tekstfil.
Det er en fantastisk fil som vil hjelpe oss alle.
Dette er en annen linje i filen.
Dette er den tredje generelle linjen i filen.
De -e flagg hjelper til utfører flere handlinger ved hjelp av en enkelt kommando.
3. Sett inn mellomrom mellom linjer
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.
sed G textfile.txt
For å sette inn flere tomme linjer i utdataene, send flere G argumenter atskilt med semikolon (;) karakter.
sed 'G; G 'textfile.txt
4. Bytt ut 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 ved hjelp av kommandoen sed er:
sed s / originalword / replaceword / g filnavn
Ved å bruke den ovennevnte syntaksen kan du erstatte ordet fantastisk med super i filen textfile.txt:
sed s / fantastisk / super / g textfile.txt
De s argument betegner bytte og g kommandoen brukes til å erstatte det samsvarende 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 / fantastisk / super / g2 textfile.txt
Hvis du vil ignorere tegnsaker mens du erstatter ord, bruk 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 du og avslutter
5. Erstatt ord innenfor et område
Du kan også erstatte ord innenfor et bestemt område.
sed '2,5s / fantastisk / super / g' textfile.txt
6. Utfør flere erstatninger samtidig
Hvis du vil utføre to eller flere erstatninger på en gang, er det bare å skille kommandoene med semikolon (;) karakter.
sed 's / fantastisk / super / g; s / command / utility / gi 'textfile.txt
Systemet viser følgende utdata.
Dette er en demo-tekstfil.
Det er en superfil som vil hjelpe oss alle.
Sed-verktøyet er også flott for strømredigering.
Vil du lære hvordan du bruker verktøyet?
Dette er en annen linje i filen.
Dette er den tredje generelle linjen i filen.
Denne filen er navngitt som tekstfil.
Dette er et eple.
Dette er en appelsin.
7. Erstatt ord bare hvis en samsvar er funnet
Du kan også bruke kommandoen sed for å erstatte et ord bare hvis en gitt samsvar blir funnet i linjen. For eksempel å erstatte ordet en med en hvis ordet oransje er til stede i linjen:
sed -e '/ orange / s / a / an / g' textfile.txt
Å utstede ovennevnte kommando vil sende:
Dette er en demo-tekstfil.
Det er en superfil som vil hjelpe oss alle.
Sed-verktøyet er også flott for strømredigering.
Vil du lære hvordan du bruker verktøyet?
Dette er en annen linje i filen.
Dette er den tredje generelle linjen i filen.
Denne filen er navngitt som tekstfil.
Dette er et eple.
Dette er en appelsin.
Merk at ordet en i køen Dette er et eple ble ikke erstattet ettersom systemet ikke fant ordet oransje i det.
8. Erstatt ord som bruker regulære uttrykk
For de som vet hvordan man bruker vanlige uttrykk, blir det mye enklere å utføre operasjoner på strenger ved hjelp av sed-kommandoen. Du kan implementere vanlige uttrykk for å styrke styrken i kommandoen.
Å 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 kommandoen sed.
9. Rør 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
Å erstatte bestemte ord i utdataene fra ip ruteshow kommando:
ip ruteshow | sed s / src / kilde / g
Den nevnte kommandoen erstatter ordet kilde i stedet for det opprinnelige ordet src.
I slekt: Hvordan bruke Finn kommandoen til å søke etter filer i Linux
10. Rediger og sikkerhetskopier den originale filen
Når du jobber med systemfiler, er det viktig å sikkerhetskopiere den originale filen mens du gjør endringer. Dette vil hjelpe deg med å tilbakestille endringene i tilfelle noe går i stykker.
For å sikkerhetskopiere originalfilen ved hjelp av sed, bruk -Jeg flagg i kommandoen.
sed -i'.backup 's / amazing / super / g' textfile.txt
En ny fil vil bli opprettet med navnet textfile.txt.backup. Du kan sjekke at de to filene er forskjellige ved hjelp av forskjell kommando.
diff textfile.txt textfile.txt.backup
Redigere strenger i Linux med sed
Noen ganger, mens du jobber med tekstfiler på terminalen, blir formatering og redigering av utdata for bedre lesbarhet et must. Sed og awk er kommandolinjeverktøy i Linux som tillater en bruker å jobbe 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 en hvilken som helst Linux-kommando, vil hjelpe deg med å komme deg ut av slike situasjoner enkelt.
Alle viktige kommandoer for å lære om Linux-kommandoer fra kommandolinjen
Les Neste
- Linux
- Tekstredigerer
- Terminal
- Ledeteksten

Deepesh er Junior Editor for Linux på MUO. Han har skrevet informasjonsinnhold på internett i over 3 år. På fritiden liker han å skrive, høre på musikk og spille gitaren.
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.