Istnieje wiele sytuacji, w których musimy zastąpić słowo w pliku. Niezależnie od tego, czy jest to plik konfiguracyjny usługi, plik tekstowy, czy plik zawierający bazy danych, w tym samouczku dowiesz się, jak wyszukać i zamienić słowo w pliku na Linux.
Jak wyszukać i zamienić słowo w pliku na Linux
Najprostsza opcja, jeśli jesteś użytkownikiem systemu operacyjnego Linux, polega na użyciu polecenia „sed
". Zamów dla edytor strumienia.
Powiedzmy jako przykład, że mamy w pliku tekstowym (document.txt) słowo "abc”, które chcemy zastąpić przez „xyz". Linia poleceń, za pomocą której możemy zastąpić słowo, będzie następująca:
sed -ie 's/abc/xyz/g' document.txt
Kiedy wykonujemy polecenie, warunkiem jest to, że znajdujemy się w folderze, w którym znajduje się plik document.txt.
Jeśli polecenie zostanie wykonane z innej lokalizacji, zostanie zapisana pełna ścieżka do pliku. Np:
sed -ie 's/abc/xyz/g' /full/path/document.txt
Gdzie "/full/path/
” to folder, w którym znajduje się plik document.txt.
Po uruchomieniu wiersza poleceń opcja "-i
" stworzy plik kopii zapasowej identyczny z pierwotnym, ale do którego rozszerzenia doda literę „e
". W naszym przypadku dokumentem zapasowym będzie 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.
Ta kolejność „find & replace” nie dotyczy tylko plików .txt. Możesz zamieniać słowa w każdym pliku zawierającym tekst. Nawet w plikach bazy danych MySQL (.SQL)
Stealth Settings - Find & Replace Inside a Text File (Linux Bash Command Line).