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:
- Införande
- Radering
- 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å LinuxAlla viktiga kommandon för att lära sig om Linux-kommandon från kommandoraden
Läs Nästa Relaterade ämnen- Linux
- Textredigerare
- Terminal
- Kommandotolken
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 SharmaPrenumerera 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