Det finns många situationer där vi behöver ersätta ett ord i en fil. Oavsett om det är en tjänstkonfigurationsfil, en textfil eller en fil som innehåller databaser, i den här handledningen lär du dig hur du söker och ersätter ett ord i en fil på Linux.
Hur man söker och ersätter ett ord i en fil på Linux
Det enklaste alternativet om du är en operativsystemanvändare Linux, är att använda kommandot "sed
". Order för stream editor.
Låt oss säga som ett exempel att vi har i en textfil (document.txt) ordet "abc" som vi vill ersätta med "xyz". Kommandoraden som vi kan ersätta ordet med kommer att vara följande:
sed -ie 's/abc/xyz/g' document.txt
När vi kör kommandot är villkoret att vi är i mappen där filen finns document.txt.
Om kommandot körs från en annan plats kommer hela sökvägen till filen att skrivas. T.ex:
sed -ie 's/abc/xyz/g' /full/path/document.txt
Var "/full/path/
” är mappen där filen finns document.txt.
Efter att ha kört kommandoraden, alternativet "-i
" kommer att skapa en backup-fil identisk med den ursprungliga, men i förlängningen av vilken han kommer att lägga till bokstaven "e
". I vårt fall kommer säkerhetskopian att vara 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.
Denna ordning av "find & replace" är inte giltigt endast för filer .txt. Du kan ersätta ord i vilken fil som helst som innehåller text. Även i databasfiler MySQL (.SQL)
Stealth Settings - Find & Replace Inside a Text File (Linux Bash Command Line).