суббота, 11 января 2014 г.

Замена текста в множестве файлов через терминал OS X, Linux, Unix,



Если вы хотите найти и заменить любое слово, текст, URL, в куче файлов, это может оказаться очень монотонной задачей. Если у вас в расспоряжении Mac OS X, Linux, или любая Unix-based  ОС, вы можете использовать терминал (командную строку) и сохранить кучу времени и нервов.

Все что вам нужно это простая команда на основе PERL:

# perl -pi -w -e 's/SEARCH_FOR/REPLACE_WITH/g;' *.txt

Она заменят  SEARCH_FOR на REPLACE_WITH во всех *.txt файлах текущей папки. 

Рабочий пример:
# perl -pi -w -e 's/stupid/awesome/g;' ~/Desktop/*.txt
Не забывайте что SEARCH_FOR это строка которая интерпретируется как регуярное выражение, а значит что в ней нужно прослешивать точки, слеши и т.п. но также и можно использовать все прелести регулярок.