Dessa 10 sed -exempel gör dig till en Linux Power -användare

Dessa 10 sed -exempel gör dig till en Linux Power -användare

Redigering av textfiler och terminalutmatning är ett vardagligt jobb för dem som administrerar Linux -maskiner. Kommandoradsverktyg som sed tillåter en användare att ändra och ändra innehållet i en textfil direkt från terminalfönstret.





I den här artikeln kommer vi att diskutera sed -kommandot i detalj, tillsammans med några viktiga exempel som visar kraften i sed -verktyget i Linux.





Vad är sed -kommandot?

Sed -kommandot, som är en förkortning för Stream Editor , är ett kommandoradsverktyg som tillåter Linux-användare att utföra textbaserade operationer på filer och terminalutgångar. Med sed kan användare hitta och ersätta specifika ord i en text, visa en viss del av utdata och redigera textfiler utan att öppna dem.





De tre grundläggande operationerna som stöds av sed -kommandot är:

  1. Införande
  2. Radering
  3. Ersättning (Hitta och ersätt)

Avancerade användare kan också implementera reguljära uttryck med sed -kommandot för att redigera textflöden mer effektivt.



Den grundläggande syntaxen för kommandot är:

sed [options] [pattern] [filepath]

...var alternativ är kommandoets olika funktioner, mönster är det reguljära uttrycket eller skriptet som du vill matcha, och sökväg är sökvägen till textfilen som innehåller texten.





hur man påskyndar en torrent

10 Exempel på Linux sed Command

Om du planerar att bli en vanlig Linux -användare kan det vara användbart att veta hur man redigerar filer, söka och ersätta specifika ord och filtrera terminalutmatningen. Det här avsnittet täcker några exempel på sed -kommandot som definitivt kommer att göra dig till en Linux -användare.

Vi kommer att använda följande textfil för demonstration i inlä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. Visa en rad linjer

Linux -kommandon som huvud och svans matar ut de första eller de sista tio raderna i en textfil. Men vad händer om du vill få innehållet mellan två specifika rader i en fil? I sådana situationer kan sed -kommandot komma till nytta.

För att mata ut innehållet mellan raderna 3 och 5 i filen textfil.txt :

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

De -n flagga hindrar sed från att visa mönsterutrymmet i slutet av varje cykel. Du kan också använda --tyst och --tyst alternativ istället för -n . De sid argument står för skriva ut och används för att visa de matchade raderna för användaren.

Exekvering av ovannämnda kommando i exempelfilen ger följande 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.

För att mata ut hela filinnehållet förutom det angivna intervallet, använd d flagga istället för sid i kommandot:

sed '3,5d' textfile.txt

De d flagga tar bort matchade strängar från utdata och visar resten av innehållet.

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. Visa icke-på varandra följande linjer

Så här skriver du ut icke-på varandra följande rader mellan flera intervall 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.

De -Och flagga hjälper till utför flera åtgärder med ett enda kommando.

3. Sätt in mellanslag mellan linjerna

Om du av någon anledning vill infoga tomma rader mellan varje rad i en textfil, använd G argument med standard sed -kommandot.

webbplatser för att titta på gratis filmer utan att ladda ner eller registrera dig
sed G textfile.txt

För att infoga flera tomma rader i utdata, passera flera G argument åtskilda av semikolon ( ; ) karaktär.

sed 'G;G' textfile.txt

4. Ersätt ett ord i en textfil

Om du vill ersätta varje förekomst av ett specifikt ord med något annat ord, använd s och g argument med kommandot. Den grundläggande syntaxen för att ersätta ord med kommandot sed är:

sed s/originalword/replaceword/g filename

Med ovanstående syntax kan du ersätta ordet Fantastisk med super i filen textfil.txt :

sed s/amazing/super/g textfile.txt

De s argument betecknar utbyte och den g kommandot används för att ersätta det matchade innehållet med det angivna ersättningsinnehållet.

För att ersätta den andra förekomsten av ordet med sed, skicka ett nummer till g argument. I detta fall:

sed s/amazing/super/g2 textfile.txt

Om du vill ignorera teckenfodral medan du byter ord, använd ge istället för g , var i står för ignorera fall.

sed s/Amazing/super/gi textfile.txt

Relaterad: Använder vi? Så här öppnar du en fil och sparar och slutar

5. Ersätt ord inom ett intervall

Du kan också ersätta ord inom ett specifikt intervall.

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

6. Utför flera byten samtidigt

Om du vill utföra två eller flera substitutioner samtidigt, separera bara kommandona med semikolon ( ; ) karaktär.

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

Systemet visar följande utdata.

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. Ersätt endast ord om en matchning hittas

Du kan också använda sed -kommandot för att ersätta ett ord endast om en viss matchning finns på raden. Till exempel för att ersätta ordet till med ett om ordet orange finns i raden:

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

Att utfärda ovannämnda kommando kommer att matas 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.

Observera att ordet till i raden Detta är ett äpple ersattes inte eftersom systemet inte hittade ordet orange i det.

8. Ersätt ord med vanliga uttryck

För dem som vet hur man använder reguljära uttryck blir det mycket enklare att utföra operationer på strängar med sed -kommandot. Du kan implementera reguljära uttryck för att förbättra kommandot.

För att ersätta alla förekomster av ordet Fantastisk eller Fantastisk med super :

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

På samma sätt kan du också använda avancerade reguljära uttryck för att utföra specifika operationer med sed -kommandot.

9. Rör sed med andra kommandon

Du kan också kedja sed med andra Linux -kommandon. Till exempel kan du pipa lspci kommando med sed för att lägga till tomma mellanslag mellan rader i utdata.

lspci | sed G

För att ersätta specifika ord i utdata från ip ruttshow kommando:

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

Kommandot ersätter ordet källa i stället för det ursprungliga ordet src .

Relaterad: Så här använder du kommandot Sök för att söka efter filer i Linux

10. Redigera och säkerhetskopiera originalfilen

När du arbetar med systemfiler är det viktigt att säkerhetskopiera den ursprungliga filen medan du gör ändringar. Detta hjälper dig att återställa ändringarna om något går sönder.

För att säkerhetskopiera den ursprungliga filen med sed, använd -i flagga i kommandot.

Windows 10 bärbar dator kommer inte att ansluta till wifi
sed -i'.backup' 's/amazing/super/g' textfile.txt

En ny fil skapas med namnet textfil.txt.backup . Du kan kontrollera att de två filerna är olika med diff kommando.

diff textfile.txt textfile.txt.backup

Redigera strängar i Linux Med sed

Ibland, medan du arbetar med textfiler på terminalen, blir formatering och redigering av utdata för bättre läsbarhet ett måste. Sed och awk är kommandoradsverktyg i Linux som gör att en användare kan arbeta effektivt med textfiler genom att dela upp data i separata rader.

Många användare har svårt att komma ihåg argumenten och flaggorna för sed -kommandot eftersom det finns många som är tillgängliga att använda. Att veta hur man får kommandoradsmanualer för alla Linux-kommandon hjälper dig att enkelt komma ur sådana situationer.

Dela med sig Dela med sig Tweet E-post 7 sätt att få kommandoradshjälp på Linux

Alla viktiga kommandon för att lära sig om Linux-kommandon från kommandoraden

Läs Nästa
Relaterade ämnen
  • Linux
  • Textredigerare
  • Terminal
  • Kommandotolken
Om författaren Deepesh Sharma(79 artiklar publicerade)

Deepesh är Junior Editor för Linux på MUO. Han skriver informationsguider på Linux, i syfte att ge alla nykomlingar en lycklig upplevelse. Osäker på filmer, men om du vill prata om teknik är han din kille. På fritiden kan du hitta honom läsa böcker, lyssna på olika musikgenrer eller spela gitarr.

Mer från Deepesh Sharma

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera