Der er mange situationer, hvor vi skal erstatte et ord inde i en fil. Uanset om det er en tjenestekonfigurationsfil, en tekstfil eller en fil, der indeholder databaser, vil du i denne vejledning lære, hvordan du søger og erstatter et ord i en fil på Linux.
Hvordan man søger og erstatter et ord i en fil på Linux
Den enkleste mulighed, hvis du er bruger af operativsystemet Linux, er at bruge kommandoen "sed
". Bestil til stream editor.
Lad os som et eksempel sige, at vi har i en tekstfil (document.txt) ordet "abc" som vi ønsker at erstatte med "xyz". Kommandolinjen, som vi kan erstatte ordet med, vil være følgende:
sed -ie 's/abc/xyz/g' document.txt
Når vi udfører kommandoen, er betingelsen, at vi er i den mappe, hvor filen er placeret document.txt.
Hvis kommandoen udføres fra et andet sted, vil den fulde sti til filen blive skrevet. F.eks:
sed -ie 's/abc/xyz/g' /full/path/document.txt
Hvor "/full/path/
” er den mappe, hvor filen er placeret document.txt.
Efter at have kørt kommandolinjen, muligheden "-i
" vil skabe en backup-fil identisk med den originale, men i forlængelse af hvilken han vil tilføje bogstavet "e
". I vores tilfælde vil backupdokumentet være document.txte.
-i[SUFFIX], --in-place[=SUFFIX] : edit files in place (makes backup if extension supplied)
-e script, --expression=script : add the script to the commands to be executed.
Denne rækkefølge af "find & replace" er ikke kun gyldig for filer .txt. Du kan erstatte ord i enhver fil, der indeholder tekst. Selv i databasefiler MySQL (.SQL)
Stealth Settings - Find & Replace Inside a Text File (Linux Bash Command Line).