Streameditor (SED): de basis

Streameditor Sed De Basis



SED, ook wel bekend als streameditor, is een zeer handig hulpmiddel. Het wordt gebruikt om naar een bepaald woord of patroon te zoeken en vervolgens iets met het woord of patroon te doen of met andere woorden te transformeren. In Windows wordt SED ook wel de functies “vinden” en “vervangen” genoemd. SED wordt geleverd met Ubuntu, dus u hoeft niets te installeren; begin het gewoon te gebruiken. In deze tutorial laten we u zien hoe u SED of de streameditor gebruikt.

Het “S”-commando

Het belangrijkste van alle opdrachten in SED of de streameditor is het “s”-commando. De “s” staat voor substituut. De syntaxis is als volgt:







'S / regexp / vervanging / vlaggen


Laten we dus voor de voorbeelden een bestand gebruiken met de naam “file.txt”. Zo ziet “file.txt” eruit als je het catt:




Laten we een voorbeeld gebruiken om te laten zien hoe de opdracht “s” werkt:



Maar 'S / Eerst / maan / ik’ bestand.txt > maan.txt


Wanneer een dergelijke uitdrukking wordt gegeven, betekent dit:





    • s – Het staat voor substituut.
    • eerste – Het woord waarnaar moet worden gezocht in het bestand met de naam “file.txt”.
    • maan – Het woord “eerste” wordt vervangen door het woord “maan”.
    • i – Het staat voor negeren. We zullen dit deel voor het eerste deel negeren.
    • file.txt – Het bestand waarin SED naar het patroon of het woord gaat zoeken. In dit geval zal het woord “eerste” zijn:
    • gezocht in bestand.txt

    • moon.txt – Wanneer het woord “first” wordt vervangen door het woord “moon”, wordt het opgeslagen onder “moon.txt”.

Wat gebeurt hier? SED vervangt het woord “eerste” alleen in eerste instantie door “maan” (dat betekent dat als het woord “eerste” meerdere keren voorkomt, het het niet helemaal zal vervangen of meerdere keren zal vervangen). Het bestand dat wordt doorzocht heet “file.txt” en zodra de transformatie of vervanging is uitgevoerd, wordt het opgeslagen onder “moon.txt”.



Dit is hoe het eruit ziet:


Vergeet niet om de “/” te plaatsen waar deze moet staan. Als u een “/” weglaat, accepteert SED het commando niet.

Tot nu toe hebben we bij de vervanging alleen het woord ‘eerste’ vervangen door ‘tegengekomen’. Stel nu dat we het woord ‘lijn’ (dat vele malen voorkomt – vier keer om specifiek te zijn) in de derde regel willen vervangen door het woord ‘engel’.

Hoe richten we ons specifiek op die derde lijn? Wij gebruiken het volgende commando:

Maar '3s / lijn / engel / ik’ bestand.txt > engel.txt


Dus, wat is hier net gebeurd? Welnu, de “3” geeft het regelnummer aan. Daarom gaat het naar de derde regel. Vervang vervolgens het woord “lijn” door “engel” in het bestand met de naam “file.txt” en sla het getransformeerde bestand op als “angel.txt”.


Wat als we de lijnen “3” en “4” willen vervangen of transformeren?

Maar ' 3 ,4s / lijn / engel / ik’ bestand.txt > engel2.txt



Merk op dat we in het vorige voorbeeld de vlag “i” gebruikten voor negeren. Nu gebruiken we de “g”-vlag voor globaal.

Laten we een voorbeeld gebruiken om te laten zien hoe de opdracht “s” werkt:

Maar 'S / lijn / zon / g’ bestand.txt > zon.txt


Wanneer een dergelijke uitdrukking wordt gegeven, betekent dit:

De ‘g’ staat voor mondiaal. Houd er rekening mee dat er in het eerste voorbeeld, wanneer we de vlag 'i' gebruiken, er slechts één vervanging is. Nu we een “g” voor mondiaal hebben toegevoegd, betekent dit overal vervangen. Dus in plaats van eerste regel, tweede regel, derde regel en laatste regel te zeggen, staat er eerste zon, tweede zon, derde zon en laatste zon. Het vervangt de woordregel in het hele bestand (overal) door het woord “zon”.


Wat als we nu een enkele regel willen selecteren op basis van een woord dat deze bevat? Welnu, we kunnen zien dat de laatste regel van “file.txt” het woord “laatste” bevat. Stel nu dat we de tekst 'Dit is de laatste regel' willen. Dit is de laatste zin.” zin om te worden: “Dit is de laatste geest. Dit is de laatste zin.”

Wij schrijven het volgende:

Maar ' / laatst / S / lijn / spook / ’ bestand.txt > geest.txt


De “laatste” hier vertelt SED om te zoeken naar de regel met het woord “laatste” en vervolgens het woord “lijn” te vervangen door “geest” binnen die regel.


Stel nu dat we het tegenovergestelde willen doen. Stel dat we willen dat bij elke regel zonder het woord 'laatste' het woord 'regel' wordt gewijzigd in 'geest'. Laten we het volgende schrijven:

Maar ' / laatst /! S / lijn / spook / ’ bestand.txt > spook2.txt


Zoals je hier kunt zien, is bij elke regel behalve de laatste (die het woord 'laatste' bevat) het woord 'regel' vervangen door het woord 'geest'.


We kunnen dit ook doen met regelnummers:

Maar ' 3 , 4 ! S / lijn / nacht / ik’ bestand.txt > nacht.txt


In dit geval worden de regels 3 en 4 weggelaten, maar op elke andere regel wordt het woord ‘lijn’ vervangen door het woord ‘nacht’.

Meerdere opdrachten

Wat als u nu meerdere opdrachten had? Wilt u het liever één voor één doen of allemaal tegelijk en uzelf wat tijd en werk besparen?

Wat als we het woord ‘eerste’ in ‘dag’, ‘tweede’ in ‘nacht’ en ‘de rest’ in ‘geest’ willen veranderen? Hiervoor gebruiken we de puntkomma. Vergeet niet de puntkomma aan het einde te plaatsen!

Houd er rekening mee dat u niet absoluut de vlag “i” of de vlag “negeren” hoeft te plaatsen, maar dat u absoluut de schuine streep (/) na de transformatiezin moet plaatsen.

Laten we het nu eens bekijken met een voorbeeld:

Maar 'S / Eerst / dag / ; S / seconde / nacht / ; S / derde / spook / ; S / laatst / spook / ;’ bestand.txt > combinatie.txt


Conclusie

De streameditor of de SED is een manier om een ​​woord of patroon te selecteren en te transformeren. Het is eigenlijk het opdrachtregelequivalent van de functies 'vinden' en 'vervangen' van Windows. Het SED-commando kan erg ingewikkeld worden, maar als je tenminste de basis kent, ben je klaar om ermee aan de slag te gaan! SED is eigenlijk een zeer krachtig hulpmiddel met veel functies. Hoewel we ze niet allemaal in één tutorial kunnen behandelen, hebben we de basisprincipes van SED behandeld. In wezen hebben we geleerd hoe we een bepaald woord kunnen transformeren met behulp van het commando “s”, waarbij “s” staat voor vervangend woord. We kunnen de woorden vervangen door andere woorden, selectief een regel kiezen waar de vervanging zal plaatsvinden, of deze zelfs tenietdoen. Hoe dan ook, dit is het gemakkelijkste deel van SED.

Veel codeerplezier!