tekstreeks in bestand vervangen [Guide]

Het handmatig bewerken van tekstbestanden op Linux kan vervelend zijn. Daarom is het goed om te weten hoe u tekstreeksen in bestanden snel kunt vervangen via de opdrachtregel. Als Linux nieuw voor je is en niet weet hoe je het moet doen, kunnen we je helpen! Volg mee terwijl we u laten zien hoe u een tekstreeks in een bestand op Linux vervangt!

Vervang tekststring in bestand – sed

De sed-tool is de beste manier om een ​​tekstreeks in een bestand op Linux te vervangen. De reden? Het is eenvoudig in gebruik en doet zijn werk erg goed. Sed is meestal vooraf geïnstalleerd op 99% van de Linux-besturingssystemen, dus het is niet nodig om het te installeren om het te gebruiken.

Het vervangen van een tekststring in een bestand door Sed doe je met het sed -i commando. Hier leest u hoe u het kunt gebruiken. Open eerst een terminalvenster op het Linux-bureaublad. U kunt een terminalvenster openen door op Ctrl + Alt + T op het toetsenbord te drukken.

Zodra het terminalvenster open en klaar voor gebruik is, schrijft u sed -i in de terminalprompt. Dit is het begin van het vervangingscommando.

sed -i

Voeg na het uitschrijven van de opdracht sed -i een ‘ aanhalingsteken toe. Dit aanhalingsteken is essentieel, omdat alle tekst die wordt vervangen door sed -i na dit teken moet beginnen.

sed -i '

Schrijf na het eerste teken s/. De s/ gaat direct voor de bestaande tekst die u wilt vervangen met sed.

sed -i 's/

Nu de s/ in de opdrachtregelprompt van de terminal is geschreven, is het tijd om sed te vertellen welke tekst in het bestand moet worden vervangen. In dit voorbeeld vervangen we het woord ‘appel’.

sed -i 's/apple

Wanneer de tekst die we willen vervangen in de opdracht is geschreven, is de volgende stap het schrijven in de nieuwe tekst die deze zal vervangen. In dit voorbeeld vervangen we ‘appels’ door ‘sinaasappels’.

sed -i 's/apples/oranges

Zodra de tekst die we willen vervangen in het commando is geschreven (sinaasappels), sluit je het commando af met g/. De g/ vertelt sed om alle tekstinstanties (appels) te vervangen door de nieuwe tekst (sinaasappels). Het zou eruit moeten zien als het onderstaande voorbeeld.

  Zoek een willekeurige film of tv-show om te bekijken

Opmerking: als je niet elke tekst in het bestand wilt vervangen (appels met peren bijvoorbeeld), verwijder dan de g en laat hem in plaats daarvan draaien als sed -i ‘s/apples/oranges/’.

sed -i 's/apple/orange/g'

Vertel ten slotte sed in welk bestand de tekst staat die moet worden vervangen. In dit voorbeeld is fruit.txt in de homedirectory het doel.

sed -i 's/apples/oranges/g' ~/fruit.txt

Druk op de enter-toets om de opdracht uit te voeren en vervang uw tekenreeks in het bestand.

Tekstreeks in bestand vervangen – Perl

Een andere manier om een ​​tekststring in een bestand op Linux te vervangen, is met de programmeertaal Perl. Perl wordt veel gebruikt voor tekstverwerking, dus het kan natuurlijk tekstreeksen in bestanden verwisselen en is perfect voor dit gebruik.

  De modus Niet storen tijdelijk inschakelen op iPhone

Zorg er om te beginnen voor dat Perl op uw Linux-pc is geïnstalleerd. De meeste Linux-besturingssystemen worden geleverd met Perl geïnstalleerd. Als je het echter niet hebt, kijk dan op de helppagina van je besturingssysteem voor informatie over hoe je het werkend kunt krijgen.

Om Perl te gebruiken om tekstreeksen in een bestand te vervangen, is de terminal vereist. Open een terminal op het Linux-bureaublad door op Ctrl + Alt + T op het toetsenbord te drukken. Of zoek naar “Terminal” in het app-menu en start het op die manier.

Zodra het terminalvenster is geopend en klaar voor gebruik, typt u perl -pe in de opdrachtregelprompt. Het perl -pe commando is wat nodig is om een ​​tekststring in een bestand te vervangen.

perl -pe

Nadat u perl -pe in de terminalprompt hebt geschreven, moet u beginnen met het eerste ‘ aanhalingsteken. Dit teken vertelt Perl waar het tekstvervangingsgebied zich in de opdracht bevindt.

perl -pe '

Na het eerste ‘ aanhalingsteken, voeg s/ toe, gevolgd door de tekstreeks die u wilt vervangen, en nog een /. Als u bijvoorbeeld “appels” in het bestand fruit.txt wilt vervangen, schrijft u de volgende tekst.

perl -pe 's/apples/

Nadat u het woord of de woorden die u wilt vervangen heeft opgeschreven, voegt u het woord toe dat de bestaande tekst zal vervangen. Als u bijvoorbeeld “appels” in “fruit.txt” wilt vervangen door “sinaasappels”, voegt u “sinaasappels” toe na perl -pe ‘s/apples/ zodat het lijkt op perl -pe ‘s/apples/oranges/ .

perl -pe 's/apples/oranges/

Zodra beide tekstreeksen in de opdracht staan, moet u het invoerbestand specificeren dat Perl gebruikt. Als u bijvoorbeeld tekst in het bestand “fruit.txt” wilt vervangen, moet u dit specificeren in de opdracht.

  12 van de beste halsbanden voor het volgen van huisdieren om uw harige vriend veilig te houden

Opmerking: in dit voorbeeld bevindt het bestand “fruit.txt” zich in de homedirectory (~/). Zorg ervoor dat u “~/fruit.txt” vervangt door de locatie van uw tekstbestand om de opdracht te laten werken.

perl -pe 's/apples/oranges/' ~/fruit.txt

Nu het invoerbestand (het bestand dat u met Perl wijzigt) aan de opdracht is toegevoegd, zou de opdracht eruit moeten zien zoals hieronder.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Wanneer de bovenstaande opdracht wordt uitgevoerd, wordt de tekstreeks vervangen door de nieuwe tekst die u hebt opgegeven. In ons voorbeeld hebben we ‘appels’ vervangen door ‘sinaasappels’. Voer de onderstaande opdracht in om de wijzigingen te bekijken.

cat fruit.txt