Применимость: Linux
Что делать если нужно заменить текст в большом количестве файлов
perl -w -i -p -e "s/search_text/replace_text/g" filename
Пояснения:
perl -w -i -p -e "s/search_text/replace_text/g" *.php
Если нужно пройтись по всему каталогу и подкаталогам и заменить во всех встречающихся на пути php-файлах строку «Perl is great» на «Perl is fucking awesome». Не проблема, командуем в терминал:
find /www_root -name "*.php"|xargs \ perl -w -i -p -e "s/Perl is great/Perl is fucking awesome/g"
Команда find будет рекурсивно просматривать подкаталоги /www, отсеивать файлы, имеющие расширение .php , затем xargs примет имя файла и передаст его perl-у в виде аргумента
Обратите внимание, аргументы Perl-у запомнить легко: -w -i -p -e получается wipe (по английски – «стереть» что-л.) Для лучшего понимания полезно почитать man по команде xargs