Det kan være kjedelig å redigere tekstfiler på Linux for hånd. Det er derfor det er greit å vite hvordan du raskt erstatter tekststrenger i filer ved hjelp av kommandolinjen. Hvis du er ny på Linux og ikke vet hvordan du gjør det, kan vi hjelpe! Følg med når vi viser deg hvordan du erstatter en tekststreng i en fil på Linux!
Erstatt tekststreng i fil – sed
Sed-verktøyet er den beste måten å erstatte en tekststreng i en fil på Linux. Grunnen? Den er enkel å bruke og gjør jobben sin veldig bra. Sed er vanligvis forhåndsinstallert på 99 % av Linux-operativsystemer, så det er ikke nødvendig å installere det for å bruke det.
Å erstatte en tekststreng i en fil med Sed gjøres med kommandoen sed -i. Slik bruker du den. Først åpner du et terminalvindu på Linux-skrivebordet. Du kan åpne et terminalvindu ved å trykke Ctrl + Alt + T på tastaturet.
Når terminalvinduet er åpent og klart til bruk, skriv ut sed -i i terminalprompten. Dette er starten på erstatningskommandoen.
sed -i
Etter å ha skrevet ut sed -i-kommandoen, legg til et « anførselstegn. Dette anførselstegnet er viktig, siden all tekst som erstattes med sed -i må starte etter dette merket.
sed -i '
Etter det første «merket, skriv s/. s/ går rett foran den eksisterende teksten du ønsker å erstatte med sed.
sed -i 's/
Nå som s/ er skrevet inn i terminalens kommandolinje, er det på tide å fortelle sed hvilken tekst som skal erstattes i filen. I dette eksemplet vil vi erstatte ordet «eple.»
sed -i 's/apple
Når teksten vi ønsker å erstatte er skrevet inn i kommandoen, er neste trinn å skrive inn den nye teksten som skal erstatte den. I dette eksemplet vil vi erstatte «epler» med «appelsiner.»
sed -i 's/apples/oranges
Når teksten vi ønsker å erstatte er skrevet inn i kommandoen (appelsiner), lukk kommandoen med g/. G/ forteller sed å erstatte alle tekstforekomster (epler) med den nye teksten (appelsiner). Det skal se ut som eksemplet nedenfor.
Merk: hvis du ikke vil erstatte hver tekst i filen (for eksempel epler til appelsiner), fjern g-en og la den kjøre som sed -i «s/apples/oranges/» i stedet.
sed -i 's/apple/orange/g'
Til slutt, fortell sed hvilken fil teksten er i som må erstattes. I dette eksemplet er fruit.txt i hjemmekatalogen målet.
sed -i 's/apples/oranges/g' ~/fruit.txt
Trykk på enter-tasten for å utføre kommandoen og erstatte tekststrengen i filen.
Erstatt tekststreng i fil – Perl
En annen måte å erstatte en tekststreng i en fil på Linux er med programmeringsspråket Perl. Perl brukes mye til tekstbehandling, så naturligvis kan den bytte ut tekststrenger i filer og er perfekt for denne brukssaken.
For å starte, sørg for at du har Perl installert på din Linux-PC. De fleste Linux-operativsystemer leveres med Perl installert. Men hvis du ikke har det, sjekk operativsystemets hjelpeside for informasjon om hvordan du får det til å fungere.
Å bruke Perl til å erstatte tekststrenger i en fil krever terminalen. Åpne en terminal på Linux-skrivebordet ved å trykke Ctrl + Alt + T på tastaturet. Eller søk etter «Terminal» i appmenyen og start den på den måten.
Når terminalvinduet er åpent og klart til bruk, start med å skrive ut perl -pe i ledeteksten. Perl -pe-kommandoen er det som trengs for å erstatte en tekststreng i en fil.
perl -pe
Når du skriver ut perl -pe i terminalprompten, må du starte med det første anførselstegn. Dette merket forteller Perl hvor teksterstatningsområdet er i kommandoen.
perl -pe '
Etter det første anførselsmerket legger du til s/, etterfulgt av tekststrengen du ønsker å erstatte, og en annen /. For å erstatte «epler» i fruit.txt-filen, skriver du for eksempel følgende tekst.
perl -pe 's/apples/
Etter å ha skrevet ut ordene du ønsker å erstatte, legg til ordet som skal erstatte den eksisterende teksten. For eksempel, hvis du vil erstatte «epler» i «fruit.txt» med «appelsiner», legg til «appelsiner» etter perl -pe «s/apples/ slik at det ser ut som perl -pe «s/apples/oranges/ .
perl -pe 's/apples/oranges/
Når begge tekststrengene er i kommandoen, må du spesifisere inndatafilen som Perl bruker. For eksempel, hvis du vil erstatte tekst i «fruit.txt»-filen, må du spesifisere det i kommandoen.
Merk: I dette eksemplet er «fruit.txt»-filen i hjemmekatalogen (~/). Pass på å erstatte «~/fruit.txt» med tekstfilens plassering for at kommandoen skal fungere.
perl -pe 's/apples/oranges/' ~/fruit.txt
Nå som inndatafilen (filen du endrer med Perl) er lagt til kommandoen, skal kommandoen se ut som den gjør nedenfor.
perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt
Når kommandoen ovenfor kjøres, vil tekststrengen bli erstattet med den nye teksten du spesifiserte. I vårt eksempel erstattet vi «epler» med «appelsiner.» For å se endringene, skriv inn kommandoen nedenfor.
cat fruit.txt