Jak powiedział Paul, chcesz najpierw znaleźć pliki, które chcesz edytować, a następnie edytować je. Alternatywą dla korzystania znalezisko jest użycie GNU grep (domyślnie w Ubuntu), np:
grep -r -l from . | xargs -0 -n 1 sed -i -e 's/from/to/g'
Można również użyć ack-grep (sudo apt-get install ack-grep lub odwiedzić http://petdance.com/ack/), a także, jeśli wiesz, że chcesz tylko określonego typu pliku i chcesz zignorować rzeczy w katalogach kontroli wersji. na przykład, jeśli chcą tylko pliki tekstowe,
ack -l --print0 --text from | xargs -0 -n 1 sed -i -e 's/from/to/g'
# `from` here is an arbitrary commonly occurring keyword
alternatywa do stosowania sed jest użycie Perla, który może przetwarzać wiele plików za polecenie, np
grep -r -l from . | xargs perl -pi.bak -e 's/from/to/g'
Tutaj Perl dowiaduje się zmieniać w miejsce, tworząc plik .bak jako pierwszy.
Możesz łączyć dowolne lewe strony rury z prawymi stronami, w zależności od swoich preferencji.
Zostawiamy to łącze tutaj: http://stackoverflow.com/questions/102083/whats-the-best-tool-to-find-and-replace-regular-regularses-over-multiple-files –