Замена текста в Linux или FreeBSD

Иногда так случается, что необходимо заменить большое количество текста в большом количестве файлов.
Или файл может быть очень большим, и редактор его не открывает. Например замена текста в дампе базы данных.
Или замена телефона во всех HTML страницах. В любом случае, нам приходит на помощь регулярные выражения.

В ОС Linux или FreeBSD замена текста в файлах очень не сложная задача. Вот за что я люблю UNIX, это за то что там многие вещи делаются очень легко.

Так вот, ближе к делу. Заменить текст можно несколькими способами. Я расскажу о них в порядке убывания производительности.

Допустим нам надо заменить в документе все слова Pavel на слово Misha:

Способ 1: Замена подстроки с помощью ПЕРЛ
 perl -e 's/Pavel/Misha/g' -pi ./index.html
Способ 2: Замена с помощью sed
 sed -e 's/Pavel/Misha/g'  ./index.html > index_new.html
Способ 3: Замена с помощью awk
 awk '{gsub("Pavel","Misha",$0); print > FILENAME}' ./index.html

 

Вот такие дела, как видите в Linux и FreeBSD заменить текст очень легко.