Perl: перебрать файл и заменить - PullRequest
6 голосов
/ 01 июня 2009

Я просто хочу прочитать в файле журнала, выполнить поиск и замену, а затем записать изменения в тот же файл журнала.

Какой лучший способ сделать это в Perl?

Ответы [ 3 ]

9 голосов
/ 01 июня 2009

Я обычно кодирую одну строку для этого:

perl -i -pe 's/some/thing/' log.file

См. Здесь

8 голосов
/ 01 июня 2009

Это часто делается с помощью одной строки:

perl -pi.bak -e "s/find/replace/g" <file>

Обратите внимание на часть -i.bak - при этом создается файл резервной копии с расширением .bak. Если вы хотите играть без сети, вы можете сделать это, чтобы перезаписать существующий файл без резервной копии:

perl -pi -e "s/find/replace/g" <file>
1 голос
/ 01 июня 2009

или вы можете использовать sed (я знаю ... вы спрашивали о perl):

sed -i 's/find/replace/g' <file>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...