Sunt foarte multe situații în care trebuie să înlocuim un cuvânt din interioriul unui fișier. Fie că este vorba despre un fișier de configurare a unui serviciu, un fișier text sau un fișier care conține baze de date, în acest tutorial înveți cum cauți și înlocuiești un cuvânt dintr-un fișier pe Linux.
Cum cauți și înlocuiești un cuvânt dintr-un fișier pe Linux
Ce mai simplă variantă dacă ești utilizator de sistem de operare Linux, este să folosești comanda “sed
“. Comanda pentru stream editor.
Să spunem ca exemplu că avem într-un fișier text (document.txt) cuvântul “abc” pe care dorim să-l înlocuim cu “xyz“. Linia de comandă prin care putem înlocui cuvântul va fi următoarea:
sed -ie 's/abc/xyz/g' document.txt
Când executăm comanda, condiția este să ne aflăm în folderul în care se află fișierul document.txt.
În cazul în care comanda este executată dintr-o altă locație se va scrie calea completă a fișierului. De exemplu:
sed -ie 's/abc/xyz/g' /full/path/document.txt
Unde “/full/path/
” este folderul în care se află fișierul document.txt.
După executarea liniei de comandă, opțiunea “-i
“ va crea un fișier de backup identic cu cel original, dar la extensia căruia va adauga litera “e
“. În cazul nostru, documentul de backup va fi 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.
Această comandă de “find & replace” nu este valabilă numai pentru fișierele .txt. Puteți înlocui cuvinte în interiorul oricărui fișier care conține text. Chiar și în fișiere ale bazelor de date MySQL (.SQL)
Stealth Settings – Find & Replace Inside a Text File (Linux Bash Command Line).