Erstatt tekst i Linux-filer: sed & Perl guide

Det kan føles som en tungvint oppgave å redigere tekstfiler manuelt på Linux. Derfor er det essensielt å kunne erstatte tekststrenger raskt og effektivt ved hjelp av kommandolinjen. Hvis du er ny i Linux-verdenen og usikker på hvordan dette gjøres, ikke bekymre deg! Vi skal nå vise deg hvordan du enkelt kan erstatte tekst i en fil i Linux.

Tekststreng-erstatning med Sed

Sed-verktøyet er et utmerket valg for å erstatte tekst i Linux-filer. Det er kjent for sin brukervennlighet og pålitelighet. Sed er vanligvis installert som standard på de fleste Linux-systemer, noe som betyr at du slipper ekstra installasjonstrinn.

For å erstatte en tekststreng med Sed, bruker du kommandoen `sed -i`. Først må du åpne et terminalvindu på Linux-skrivebordet. Dette kan du gjøre ved å trykke `Ctrl + Alt + T` på tastaturet.

Når terminalen er klar, starter du med å skrive `sed -i` i ledeteksten. Dette er begynnelsen av kommandoen for tekst-erstatning.

sed -i

Etter å ha skrevet `sed -i`, legg til et anførselstegn (`’`). Dette er nødvendig fordi all teksten som skal erstattes, må stå etter dette tegnet.

sed -i '

Deretter skriver du `s/` rett etter det første anførselstegnet. `s/` indikerer at du skal spesifisere den eksisterende teksten som skal byttes ut.

sed -i 's/

Nå som `s/` er lagt til, må du fortelle Sed hvilken tekst du ønsker å erstatte. I dette eksemplet bruker vi ordet «eple».

sed -i 's/eple

Etter å ha definert teksten som skal erstattes, angir du den nye teksten som skal settes inn. La oss for eksempel erstatte «eple» med «appelsin».

sed -i 's/eple/appelsin

Når både gammel og ny tekst er på plass, avslutter du kommandoen med `g/`. `g/` betyr at Sed skal erstatte alle forekomster av den gamle teksten med den nye. Det skal se slik ut:

Merk: Hvis du kun ønsker å erstatte den første forekomsten av teksten, fjerner du `g`-en, og kommandoen blir da `sed -i «s/eple/appelsin/’`.

sed -i 's/eple/appelsin/g'

Til slutt, spesifiser filen som inneholder teksten du vil endre. I dette tilfellet er det `fruit.txt`, som ligger i hjemmekatalogen.

sed -i 's/eple/appelsin/g' ~/fruit.txt

Trykk `Enter` for å utføre kommandoen og erstatte teksten i filen.

Tekststreng-erstatning med Perl

En annen metode for å erstatte tekst i Linux er å bruke programmeringsspråket Perl. Perl er kjent for sin tekstbehandlingskapasitet, og egner seg utmerket til å bytte ut tekststrenger.

Før du begynner, sjekk at Perl er installert på Linux-maskinen din. De fleste Linux-distribusjoner har Perl forhåndsinstallert. Hvis ikke, se operativsystemets dokumentasjon for installasjonsinstruksjoner.

For å bruke Perl til tekst-erstatning, må du åpne et terminalvindu. Du kan gjøre dette ved å trykke `Ctrl + Alt + T`, eller søke etter «Terminal» i applikasjonsmenyen.

Når terminalen er klar, start med å skrive `perl -pe` i ledeteksten. Dette er grunnlaget for kommandoen for å bytte ut tekst.

perl -pe

Når du har skrevet `perl -pe`, legg til et anførselstegn (`’`). Dette forteller Perl hvor tekst-erstatningsdelen av kommandoen begynner.

perl -pe '

Etter anførselstegnet skriver du `s/`, etterfulgt av teksten du vil erstatte, og en ny `/`. For å bytte ut «eple» i `fruit.txt`, skriver du for eksempel:

perl -pe 's/eple/

Etter å ha skrevet den gamle teksten, legger du til den nye teksten som skal erstatte den. Hvis du skal erstatte «eple» med «appelsin», legger du til «appelsin» etter `s/eple/`, så det blir `perl -pe «s/eple/appelsin/’`.

perl -pe 's/eple/appelsin/'

Nå som begge tekststrengene er definert, må du spesifisere filen som Perl skal jobbe med. I dette eksemplet skal vi endre `fruit.txt`.

Merk: I dette eksemplet befinner `fruit.txt` seg i hjemmekatalogen (`~/`). Sørg for å erstatte `~/fruit.txt` med filens faktiske plassering for at kommandoen skal fungere.

perl -pe 's/eple/appelsin/' ~/fruit.txt

Når du har lagt til filnavnet, ser kommandoen slik ut:

perl -pe 's/eple/appelsin/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Når denne kommandoen kjøres, erstattes den gamle teksten med den nye. I vårt eksempel endret vi «eple» til «appelsin». For å se resultatet av endringen, skriver du inn følgende kommando:

cat fruit.txt