Witam mam maly problem.
Potrzebuje napisac skrypt, ktory bedzie mi zmienial jakis tekst na inny. O ile na pliku to nie jest problem, to potrzebuje to zrobic tak, aby zmienial te wartosci we wszystkich plikach w danym katalogu.
Czy starczy uzyc sed czy musze czegos jeszcze uzyc? Prosilbym o male naswietlenie tematu a z reszta powinienem porawdzic sobie sam.
[+] zmiana tekstu we wszystkich plikach w katalogu - sed
Kod: Zaznacz cały
sed -i 's/costam/cosinnego/' *
Możesz też użyć 'for' w Bash - to Ci pozwoli ciekawiej filtrować pliki do obróbki:
proste filtrowanie można uzyskać tak:bardziej ogólna jest:
W miejsce ls możesz wstawić cokolwiek, np. find z licznymi opcjami:
wyszuka wszystkie pliki rozdzial*.txt we wszystkich podkatalogach katalogu wskazanego przez 'sciezka'.
Krótkie wprowadzenie do pisania skryptów masz np. tu: http://www.ournet.pl/kursbasha/main.html
Sprawdź tam szczegóły konstrukcji, bo piszę z pamięci i mogłem cos zgubić.
proste filtrowanie można uzyskać tak:
Kod: Zaznacz cały
sed 's/stare/nowe/g' rozdzial*.txt
Kod: Zaznacz cały
for plik in $( ls ); do
sed 's/stare/nowe/g' $plik
done
Kod: Zaznacz cały
find sciezka -name rozdzial\*.txt
Krótkie wprowadzenie do pisania skryptów masz np. tu: http://www.ournet.pl/kursbasha/main.html
Sprawdź tam szczegóły konstrukcji, bo piszę z pamięci i mogłem cos zgubić.