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.txtOutput:
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.