Как сказал Павел, вы хотите, чтобы сначала найти файлы, которые вы хотите изменить, а затем редактировать их. Альтернатива использованию находку, чтобы использовать GNU Grep (по умолчанию на Ubuntu), например:
grep -r -l from . | xargs -0 -n 1 sed -i -e 's/from/to/g'
Вы также можете использовать Ack-Grep (Sudo APT-получить установку Ack-Grep или посетить http://petdance.com/ack/), а также, если вы знаете, что хотите только определенного типа файла, и хотите игнорировать вещи в каталогах управления версиями. например, если вы хотите только текстовые файлы,
ack -l --print0 --text from | xargs -0 -n 1 sed -i -e 's/from/to/g'
# `from` here is an arbitrary commonly occurring keyword
альтернатива использованию СЭД является использование Perl, который может обрабатывать несколько файлов в команде, например,
grep -r -l from . | xargs perl -pi.bak -e 's/from/to/g'
Здесь Perl сказано редактировать в сначала создайте файл .bak.
Вы можете комбинировать любые левые стороны трубы с правыми сторонами, в зависимости от ваших предпочтений.
Просто перейдите по этой ссылке прямо здесь: http://stackoverflow.com/questions/102083/whats-the-best-tool-to-find-and-replace-regular-expressions-over-multiple-files –