sed

Meerdere regels vervangen met de opdracht 'sed'

Meerdere regels vervangen met de opdracht 'sed'
Soms is het nodig om meerdere regels van een bestand te vervangen door een bepaald teken of tekst. Er bestaan ​​verschillende commando's in Linux om meerdere regels van een bestand te vervangen. 'sed'-opdracht is een van hen om dit soort taken uit te voeren. De volledige vorm van 'sed' is Steam Editor en wordt voornamelijk gebruikt om de tekst op verschillende manieren te lezen en te converteren met behulp van een reguliere expressie. Hoe deze opdracht kan worden gebruikt om meerdere regels van een bestand op verschillende manieren te vervangen, wordt in deze zelfstudie uitgelegd explained.

Veelgebruikte 'sed' Cheatsheet:

De meest gebruikte karakters die in het 'sed'-commando worden gebruikt, worden in de volgende tabel uitgelegd:.

Karakter Doel
een Het wordt gebruikt voor het toevoegen van inhoud.
b Het wordt gebruikt voor het vertakken van inhoud.
c Het wordt gebruikt voor het wijzigen van inhoud.
d Het wordt gebruikt voor het verwijderen van een regel van een bestand.
D Het wordt gebruikt om de eerste regel van een bestand te verwijderen.
g Vroeger kopieerde het van de houdtekst.
G Het wordt gebruikt om toe te voegen vanuit de vasthoudtekst.
h Het wordt gebruikt om in de houdtekst te kopiëren.
H Het wordt gebruikt om toe te voegen aan de vasthoudtekst.
ik Het wordt gebruikt voor het inbrengen;.
ik Het wordt gebruikt om de vervangende regel af te drukken.
nee Het wordt gebruikt om naar de volgende regel te gaan.
nee Het wordt gebruikt om de volgende invoerregel toe te voegen.
p Het wordt gebruikt om af te drukken.
P Het wordt gebruikt om de eerste regel af te drukken.
q Het wordt gebruikt om te stoppen.
Vraag Het wordt gebruikt om onmiddellijk te stoppen.
r Het wordt gebruikt om het bestand te lezen.
R Het wordt gebruikt om de regel uit het bestand te lezen.
zo Het wordt gebruikt om te vervangen.
t Het wordt gebruikt om te testen op vervanging.
T Het wordt gebruikt om te testen op geen vervanging.
met wie Het wordt gebruikt om naar het bestand te schrijven.
W Het wordt gebruikt om een ​​regel naar het bestand te schrijven.
X Het wordt gebruikt om patronen te wisselen en vast te houden.
ja Het wordt gebruikt om te vertalen.
z Het wordt gebruikt om de lijn te wissen.
'=' Het wordt gebruikt om het regelnummer af te drukken.

Vervang meerdere regels door het 'sed'-commando van de terminal te gebruiken:

Hoe het 'sed'-commando kan worden gebruikt om de meerdere regels uit een bestand van de terminal te vervangen, wordt in dit deel van deze tutorial getoond. Maak een bestand met de naam sed.tekst test met de volgende inhoud de commando's van dit onderdeel:.

sed.tekst

De volledige vorm van sed is "stream-editor".

Het is een Unix-hulpprogramma dat wordt gebruikt om de tekst in een ander formaat te lezen en te converteren.

Het is ontwikkeld door Lee E. McMahon.

Het wordt gebruikt voor tekstverwerking.

Het ondersteunt reguliere expressies.

Voorbeeld-1: Twee opeenvolgende regels vervangen

Het volgende 'sed'-commando vervangt twee opeenvolgende regels door een andere regel. Hier wordt de optie -z gebruikt om de opeenvolgende regels te vervangen door null-gegevens voordat de vervangende tekst wordt toegevoegd. Volgens het commando, de 3rd en 4dit regels van het bestand worden vervangen door de tekst, 'Het is een heel handig hulpmiddel'.

$ kat sed.tekst
$ sed -z 's/Het is ontwikkeld door Lee E. McMahon.\nHet wordt gebruikt voor tekst
verwerken./Het is een erg handig hulpmiddel./' sed.tekst

De volgende uitvoer verschijnt na het uitvoeren van de opdrachten:.

Voorbeeld-2: Meerdere regels vervangen op basis van overeenkomst en globale vlag

Het volgende 'sed'-commando vervangt alle regels die beginnen met het woord, 'Het' met het woord 'Deze regel is vervangen '.

$ kat sed.tekst
$ sed 's/^It.*/Deze regel is vervangen/g' sed.tekst

De volgende uitvoer verschijnt na het uitvoeren van de opdrachten:. Drie regels bevatten het woord 'Het' in het bestand. Deze regels zijn dus vervangen door de vervangende tekst.

Voorbeeld-3: Meerdere regels vervangen op basis van de opdracht voor overeenkomst en volgende regel

Het volgende 'sed'-commando vervangt het woord,'is' bij het woord 'was' met het volgende regelcommando, 'n'.

$ kat sed.tekst
$ sed ' n;/is/ s/is/was/' sed.tekst

De volgende uitvoer verschijnt na het uitvoeren van de opdrachten:. Hier, 'is' bestaat in de 2nd en 4dit regels van het bestand, en deze regels worden gewijzigd door het woord 'was'.

Vervang meerdere regels door het 'sed'-scriptbestand te maken:

In de vorige voorbeelden zijn 'sed'-commando's uitgevoerd vanaf de terminal. Maar het is een scripttaal, en als het script meerdere instructies bevat, is het beter om een ​​sed-bestand met het script te maken. Maak een tekstbestand met de naam studenten.tekst met de volgende inhoud waarin het 'sed'-script wordt toegepast.

studenten.tekst

ID: 111045
Naam: Robert
Afdeling: CSE
Partij: 35
ID: 111876
Naam: Joseph
Afdeling: BBA
Partij: 27
ID: 111346
Naam: William
Afdeling: CSE
Partij: 45
ID: 111654
Naam: Charles
Afdeling: EEE
Partij: 41
ID: 111346
Naam: John
Afdeling: CSE
Partij: 25
ID: 111746
Naam: Thomas
Afdeling: CSE
Partij: 15

Voorbeeld-4: Vervang meerdere regels van een bestand met behulp van 'sed' scriptbestand

Maak een sed-bestand met de naam to vervangen.sed met de volgende inhoud om de meerdere regels te vervangen op basis van het zoekpatroon:. Hier het woord 'CSE' wordt gezocht in het tekstbestand, en als de overeenkomst bestaat, wordt opnieuw gezocht naar de nummers 35 en 15. Als de tweede overeenkomst in het bestand voorkomt, wordt deze vervangen door het getal 45.

vervangen.sed

/CSE/
p;n;
/35/
s/35/45/;
p;d;

/15/
s/15/55/;
p;d;


p;

Voer de volgende opdracht uit om de bestaande inhoud van het bestand te controleren:. 'CSE' verscheen vier keer in het tekstbestand. 35 en 15 bestaan ​​op twee plaatsen.

$ kat studenten.tekst

De volgende opdracht vervangt de inhoud van de meerdere regels op basis van het sed-script:.

$ sed -n -f vervangen.sed studenten.tekst

De volgende uitvoer verschijnt na het uitvoeren van de opdracht:.

Conclusie

In deze tutorial zijn verschillende manieren getoond om meerdere regels of de inhoud van de meerdere regels te vervangen met de opdracht 'sed'. Hoe het 'sed'-script kan worden uitgevoerd vanuit een sed-bestand wordt ook getoond in deze tutorial. Ik hoop dat deze tutorial de lezer zal helpen om meerdere regels van een bestand te vervangen door de opdracht 'sed' te gebruiken.

Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...
Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...
OSD-overlay tonen in Linux-apps en -games op volledig scherm
Het spelen van games op volledig scherm of het gebruik van apps in de modus volledig scherm zonder afleiding kan u afsnijden van relevante systeeminfo...