Disse 10 sed eksempler vil gøre dig til en Linux Power User

Disse 10 sed eksempler vil gøre dig til en Linux Power User

Redigering af tekstfiler og terminaloutput er et hverdagsjob for dem, der administrerer Linux -maskiner. Kommandolinjeværktøjer som sed tillader en bruger at ændre og ændre indholdet af en tekstfil lige fra terminalvinduet.





I denne artikel vil vi diskutere sed -kommandoen i detaljer sammen med nogle væsentlige eksempler, der demonstrerer effekten af ​​sed -værktøjet i Linux.





Hvad er den sed kommando?

Sed -kommandoen, som er et akronym for Stream Editor , er et kommandolinjeværktøj, der giver Linux-brugere mulighed for at udføre tekstbaserede operationer på filer og terminaludgange. Ved hjælp af sed kan brugerne finde og erstatte bestemte ord i en tekst, vise et bestemt afsnit af output og redigere tekstfiler uden at åbne dem.





De tre grundlæggende operationer understøttet af sed -kommandoen er:

  1. Indskud
  2. Sletning
  3. Substitution (Find og udskift)

Avancerede brugere kan også implementere regulære udtryk med sed -kommandoen for at redigere tekststrømme mere effektivt.



Den grundlæggende syntaks for kommandoen er:

sed [options] [pattern] [filepath]

...hvor muligheder er kommandoens forskellige funktioner, mønster er det regulære udtryk eller det script, du vil matche, og filepath er stien til tekstfilen, der indeholder teksten.





Windows 10 blå skærm kritisk proces døde

10 Eksempler på Linux sed Command

Hvis du planlægger at blive en almindelig Linux -bruger, kan det være nyttigt at vide, hvordan du redigerer filer, søger og udskifter bestemte ord og filtrerer terminaloutput. Dette afsnit dækker nogle eksempler på sed -kommandoen, der helt sikkert vil gøre dig til en Linux -strømbruger.

Vi vil bruge følgende tekstfil til demonstration i indlægget.





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 række linjer

Linux -kommandoer som hoved og hale sender de første eller de sidste ti linjer i en tekstfil. Men hvad nu hvis du vil have indholdet mellem to specifikke linjer i en fil? I sådanne situationer kan sed -kommandoen være nyttig.

For at udsende indholdet mellem filerne linje 3 og 5 tekstfil.txt :

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

Det -n flag forhindrer sed i at vise mønsterrummet i slutningen af ​​hver cyklus. Du kan også bruge --rolige og --stille muligheder i stedet for -n . Det s argument står for Print og bruges til at vise de matchede linjer til brugeren.

Udførelse af den førnævnte kommando i eksempelfilen producerer følgende output.

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

Hvis du vil udsende hele filindholdet bortset fra det angivne område, skal du bruge d flag i stedet for s i kommandoen:

sed '3,5d' textfile.txt

Det d flag sletter de matchede strenge fra output og viser resten af ​​indholdet.

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 ikke-på hinanden følgende linjer

Sådan udskrives ikke-på hinanden følgende linjer mellem flere områder i filen:

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

Produktion:

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.

Det -Og flag hjælper ind udfører flere handlinger ved hjælp af en enkelt kommando.

3. Indsæt mellemrum mellem linjer

Hvis du af en eller anden grund ønsker at indsætte tomme linjer mellem hver linje i en tekstfil, skal du bruge G argument med standard sed -kommandoen.

hvorfor falder min downloadhastighed
sed G textfile.txt

For at indsætte flere tomme linjer i output skal du passere flere G argumenter adskilt af semikolon ( ; ) Karakter.

sed 'G;G' textfile.txt

4. Udskift et ord i en tekstfil

Hvis du vil erstatte hver forekomst af et bestemt ord med et andet ord, skal du bruge s og g argumenter med kommandoen. Den grundlæggende syntaks for at erstatte ord ved hjælp af sed -kommandoen er:

sed s/originalword/replaceword/g filename

Ved hjælp af ovennævnte syntaks kan du erstatte ordet fantastiske med super i filen tekstfil.txt :

sed s/amazing/super/g textfile.txt

Det s argument betegner substitution og g kommando bruges til at erstatte det matchede indhold med det angivne erstatningsindhold.

For at erstatte den anden forekomst af ordet med sed, skal du sende et tal til g argument. I dette tilfælde:

sed s/amazing/super/g2 textfile.txt

Hvis du vil ignorere tegnsætninger, mens du erstatter ord, skal du bruge give i stedet for g , hvor jeg står for ignorere sag.

sed s/Amazing/super/gi textfile.txt

Relaterede: Bruger vi? Sådan åbner du en fil og derefter gemmer og afslutter

5. Erstat ord inden for et område

Du kan også erstatte ord inden for et bestemt område.

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

6. Udfør flere substitutioner på én gang

Hvis du vil udføre to eller flere substitutioner på én gang, skal du bare adskille kommandoerne med semikolon ( ; ) Karakter.

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

Systemet viser følgende output.

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. Udskift kun ord, hvis der findes et match

Du kan også bruge kommandoen sed til kun at erstatte et ord, hvis der findes et givet match på linjen. For eksempel at erstatte ordet til med en hvis ordet orange findes i linjen:

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

Udstedelse af ovennævnte kommando udsender:

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.

Bemærk, at ordet til i linjen Dette er et æble blev ikke udskiftet, da systemet ikke fandt ordet orange i det.

8. Erstat ord ved hjælp af regulære udtryk

For dem, der ved, hvordan man bruger regulære udtryk, bliver det meget lettere at udføre operationer på strenge ved hjælp af sed -kommandoen. Du kan implementere regulære udtryk for at forbedre kommandoens kraft.

At erstatte alle forekomster af ordet Fantastiske eller fantastiske med super :

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

På samme måde kan du også bruge avancerede regulære udtryk til at udføre specifikke operationer ved hjælp af sed -kommandoen.

9. Rør sed med andre kommandoer

Du kan også kæde sed med andre Linux -kommandoer. For eksempel kan du rør lspci kommando med sed for at tilføje tomme mellemrum mellem linjer i output.

lspci | sed G

For at erstatte bestemte ord i output fra ip ruteshow kommando:

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

Den førnævnte kommando erstatter ordet kilde i stedet for det originale ord src .

Relaterede: Sådan bruges Find -kommandoen til at søge efter filer i Linux

10. Rediger og sikkerhedskopier den originale fil

Når du arbejder med systemfiler, er det vigtigt at sikkerhedskopiere den originale fil, mens du foretager ændringer. Dette hjælper dig med at vende ændringerne tilbage, hvis noget går i stykker.

For at sikkerhedskopiere den originale fil ved hjælp af sed, skal du bruge -jeg flag i kommandoen.

hvordan man får adgang til bluetooth på mac
sed -i'.backup' 's/amazing/super/g' textfile.txt

En ny fil vil blive oprettet med navnet tekstfil.txt.backup . Du kan kontrollere, at de to filer er forskellige ved hjælp af diff kommando.

diff textfile.txt textfile.txt.backup

Redigering af strenge i Linux Med sed

Nogle gange, mens du arbejder med tekstfiler på terminalen, bliver formatering og redigering af output for bedre læsbarhed et must. Sed og awk er kommandolinjeværktøjer i Linux, der giver en bruger mulighed for at arbejde effektivt med tekstfiler ved at opdele dataene i separate linjer.

Mange brugere har svært ved at huske argumenterne og flagene i sed -kommandoen, da der er mange af dem, der er tilgængelige til brug. At vide, hvordan man får kommandolinjemanualer til enhver Linux-kommando, hjælper dig med let at komme ud af sådanne situationer.

Del Del Tweet E -mail 7 måder at få kommandolinjehjælp på Linux

Alle de vigtige kommandoer til at lære om Linux-kommandoer fra kommandolinjen

Læs Næste
Relaterede emner
  • Linux
  • Teksteditor
  • Terminal
  • Kommandoprompt
Om forfatteren Deepesh Sharma(79 artikler udgivet)

Deepesh er Junior Editor for Linux på MUO. Han skriver informationsguider om Linux med det formål at give alle tilflyttere en salig oplevelse. Ikke sikker på film, men hvis du vil tale om teknologi, er han din fyr. I fritiden kan du finde ham læse bøger, lytte til forskellige musikgenrer eller spille sin guitar.

Mere fra Deepesh Sharma

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere