Замена текста в файлах в Perl


Если надо заменить текст не в одном файле, то есть несколько способов.

Для того, чтобы заменить текст «Windows» на «Linux» во всех файлах в текущей директории, название которой начинается с «test», введите в консоли:

perl -i -pe 's/Windows/Linux/;' test*

Чтобы провести ту же операцию во всех поддиректориях:

find. -name '*.txt' -print | xargs perl -pi -e's/Windows/Linux/ig' *.txt

Или вы хотите сделать то же самое для на обычных файлов со множеством переносов строк и странных символов (файл — в другой кодировке):

find -type f -name '*.txt' -print0 | xargs --null perl -pi -e 's/Windows/Linux/'

Метки: ,
Copyright © 2022

Опубликовано 01.12.2022 от admin в категории "HowTo