Deze 10 Sed-voorbeelden maken je een Linux Power User

Deze 10 Sed-voorbeelden maken je een Linux Power User

Het bewerken van tekstbestanden en terminaluitvoer is een dagelijkse taak voor degenen die Linux-machines beheren. Opdrachtregelhulpprogramma's zoals sed stellen een gebruiker in staat om de inhoud van een tekstbestand rechtstreeks vanuit het terminalvenster te wijzigen en te wijzigen.





In dit artikel zullen we het sed-commando in detail bespreken, samen met enkele essentiële voorbeelden die de kracht van het sed-hulpprogramma in Linux demonstreren.





Wat is het sed-commando?

Het sed-commando, wat een acroniem is voor Stream-editor , is een opdrachtregelprogramma waarmee Linux-gebruikers op tekst gebaseerde bewerkingen kunnen uitvoeren op bestanden en terminaluitvoer. Met sed kunnen gebruikers specifieke woorden in een tekst zoeken en vervangen, een bepaald gedeelte van de uitvoer weergeven en tekstbestanden bewerken zonder ze te openen.





De drie basisbewerkingen die door het sed-commando worden ondersteund, zijn:

  1. Invoeging
  2. Verwijdering
  3. Vervanging (Zoeken en vervangen)

Gevorderde gebruikers kunnen ook reguliere expressies implementeren met de opdracht sed om tekststromen efficiënter te bewerken.



De basissyntaxis van de opdracht is:

sed [options] [pattern] [filepath]

...waar opties zijn de verschillende functionaliteiten van het commando, patroon is de reguliere expressie of het script dat u wilt matchen, en bestandspad is het pad naar het tekstbestand dat de tekst bevat.





leuke dingen om te doen op zoom

10 voorbeelden van het Linux sed-commando

Als u van plan bent een gewone Linux-gebruiker te worden, kan het nuttig voor u zijn om te weten hoe u bestanden moet bewerken, specifieke woorden moet zoeken en vervangen en de terminaluitvoer moet filteren. Deze sectie behandelt enkele voorbeelden van het sed-commando dat je zeker in een Linux-hoofdgebruiker zal veranderen.

We zullen het volgende tekstbestand gebruiken voor demonstratie in de post.





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. Bekijk een reeks lijnen

Linux-commando's zoals kop en staart voeren de eerste of de laatste tien regels van een tekstbestand uit. Maar wat als u de inhoud tussen twee specifieke regels in een bestand wilt krijgen? In dergelijke situaties kan het commando sed van pas komen.

Om de inhoud tussen regel 3 en 5 van het bestand uit te voeren tekstbestand.txt :

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

De -N flag voorkomt dat sed de patroonruimte aan het einde van elke cyclus weergeeft. U kunt ook de --stil en --stil opties in plaats van -N . De P argument staat voor afdrukken en wordt gebruikt om de overeenkomende regels aan de gebruiker weer te geven.

Het uitvoeren van de bovengenoemde opdracht op het voorbeeldbestand levert de volgende uitvoer op.

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

Om de volledige bestandsinhoud uit te voeren, behalve het opgegeven bereik, gebruikt u de NS vlag in plaats van P in de opdracht:

sed '3,5d' textfile.txt

De NS flag verwijdert de overeenkomende tekenreeksen uit de uitvoer en geeft de rest van de inhoud weer.

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. Niet-opeenvolgende regels weergeven

Om niet-opeenvolgende regels tussen meerdere bereiken in het bestand af te drukken:

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

Uitgang:

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 -En vlag helpt in uitvoeren meerdere acties met een enkele opdracht.

3. Spatie tussen regels invoegen

Als je om wat voor reden dan ook lege regels wilt invoegen tussen elke regel in een tekstbestand, gebruik dan de G argument met het standaard sed-commando.

iphone 12 pro max vs s21 ultra
sed G textfile.txt

Als u meerdere lege regels in de uitvoer wilt invoegen, geeft u meerdere door G argumenten gescheiden door de puntkomma ( ; ) karakter.

sed 'G;G' textfile.txt

4. Vervang een woord in een tekstbestand

Als u elke keer dat een specifiek woord voorkomt door een ander woord wilt vervangen, gebruikt u de s en G argumenten met het commando. De basissyntaxis voor het vervangen van woorden met de opdracht sed is:

sed s/originalword/replaceword/g filename

Met behulp van de bovengenoemde syntaxis kunt u het woord . vervangen verbazingwekkend met Super in het bestand tekstbestand.txt :

sed s/amazing/super/g textfile.txt

De s argument geeft aan vervanging en de G opdracht wordt gebruikt om de overeenkomende inhoud te vervangen door de opgegeven vervangende inhoud.

Om het tweede voorkomen van het woord te vervangen door sed, geeft u een nummer door aan de G argument. In dit geval:

sed s/amazing/super/g2 textfile.txt

Als u hoofdletters en kleine letters wilt negeren terwijl u woorden vervangt, gebruik dan schenken in plaats van G , waar l betekent negeren geval.

sed s/Amazing/super/gi textfile.txt

Verwant: Vi gebruiken? Hier leest u hoe u een bestand opent en vervolgens opslaat en afsluit

5. Vervang woorden binnen een bereik

U kunt ook woorden binnen een bepaald bereik vervangen.

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

6. Voer meerdere vervangingen tegelijk uit

Als u twee of meer vervangingen tegelijk wilt uitvoeren, scheidt u de opdrachten gewoon met de puntkomma ( ; ) karakter.

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

Het systeem geeft de volgende uitvoer weer.

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. Vervang woorden alleen als er een overeenkomst is gevonden

U kunt de opdracht sed ook gebruiken om een ​​woord alleen te vervangen als een bepaalde overeenkomst in de regel wordt gevonden. Om bijvoorbeeld het woord . te vervangen tot met een als het woord Oranje is aanwezig in de regel:

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

Als u de bovengenoemde opdracht geeft, wordt het volgende weergegeven:

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.

Merk op dat het woord tot in de rij Dit is een appel werd niet vervangen omdat het systeem het woord niet vond Oranje in het.

8. Vervang woorden met reguliere expressies

Voor degenen die weten hoe ze reguliere expressies moeten gebruiken, wordt het uitvoeren van bewerkingen op strings met het sed-commando een stuk eenvoudiger. U kunt reguliere expressies implementeren om de kracht van de opdracht te vergroten.

Om alle exemplaren van het woord te vervangen Verbazingwekkend of verbazingwekkend met Super :

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

Op dezelfde manier kunt u ook geavanceerde reguliere expressies gebruiken om specifieke bewerkingen uit te voeren met de opdracht sed.

9. Pipe sed met andere opdrachten

Je kunt sed ook koppelen met andere Linux-commando's. U kunt bijvoorbeeld de lspci commando met sed om lege spaties tussen regels in de uitvoer toe te voegen.

lspci | sed G

Om specifieke woorden in de uitvoer van de . te vervangen ip route tonen opdracht:

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

Het bovengenoemde commando vervangt het woord bron in plaats van het oorspronkelijke woord src .

Verwant: Hoe de opdracht Zoeken te gebruiken om naar bestanden te zoeken in Linux

10. Bewerk en maak een back-up van het originele bestand

Wanneer u met systeembestanden werkt, is het belangrijk om een ​​back-up van het originele bestand te maken terwijl u wijzigingen aanbrengt. Dit zal u helpen bij het terugdraaien van de wijzigingen voor het geval er iets kapot gaat.

Om een ​​back-up te maken van het originele bestand met sed, gebruik de -l vlag in de opdracht.

hoe audio van video te isoleren
sed -i'.backup' 's/amazing/super/g' textfile.txt

Er wordt een nieuw bestand gemaakt met de naam tekstbestand.txt.backup . U kunt controleren of de twee bestanden verschillend zijn met behulp van de verschil opdracht.

diff textfile.txt textfile.txt.backup

Strings bewerken in Linux met sed

Soms, terwijl u met tekstbestanden op de terminal werkt, wordt het formatteren en bewerken van de uitvoer voor een betere leesbaarheid een must. Sed en awk zijn opdrachtregelhulpprogramma's in Linux waarmee een gebruiker efficiënt met tekstbestanden kan werken door de gegevens in afzonderlijke regels te verdelen.

Veel gebruikers hebben moeite om de argumenten en vlaggen van het sed-commando te onthouden, omdat er veel beschikbaar zijn om te gebruiken. Als u weet hoe u opdrachtregelhandleidingen voor elk Linux-commando kunt krijgen, kunt u gemakkelijk uit dergelijke situaties komen.

Deel Deel Tweeten E-mail 7 manieren om Command Line Help op Linux te krijgen

Alle essentiële commando's voor het leren over Linux-commando's vanaf de opdrachtregel

Lees volgende
Gerelateerde onderwerpen
  • Linux
  • Teksteditor
  • Terminal
  • Opdrachtprompt
Over de auteur Deepesh Sharma(79 artikelen gepubliceerd)

Deepesh is de Junior Editor voor Linux bij MUO. Hij schrijft informatieve handleidingen over Linux, met als doel een zalige ervaring te bieden aan alle nieuwkomers. Ik weet niet zeker van films, maar als je over technologie wilt praten, is hij jouw man. In zijn vrije tijd kun je hem boeken zien lezen, naar verschillende muziekgenres luisteren of zijn gitaar spelen.

Meer van Deepesh Sharma

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren