Bash:
Wyszukiwanie i zamiana tekstu
Jak to zrobić:
# Wyszukaj i zamień tekst w pliku za pomocą sed
sed -i 's/szukany_tekst/nowy_tekst/g' plik.txt
# Przykład zamiany 'kot' na 'pies' w pliku 'zwierzeta.txt'
sed -i 's/kot/pies/g' zwierzeta.txt
# Wypisz wynik zamiany na ekranie
sed 's/kot/pies/g' zwierzeta.txt
Output:
Jeden pies, dwa psy, trzy psy.
A na głębszą wodę:
Polecenie sed
(stream editor) to klasyk w UNIX-owych systemach, używany od lat ‘70. Alternatywami dla sed
mogą być awk
, perl
, czy nowoczesne skrypty w Pythonie, których wybór zależy od złożoności zadania i preferencji programisty. Ważne jest, że sed
działa na strumieniach, przez co jest szybki i sprawnie przetwarza nawet duże pliki.
Flaga -i
w sed
oznacza zapisanie zmian bezpośrednio w pliku. g
na końcu wzorca zamiany mówi o globalnej zamianie – bez niej sed
zmieni tylko pierwsze wystąpienie w linii.
Zobacz także:
- GNU sed manual – szczegółowa dokumentacja
sed
. - Regular Expressions – poradnik i tutorial dotyczący wyrażeń regularnych.
- Bash Scripting Tutorial – ogólny kurs skryptowania w Bashu.