Я просто хочу прочитать файл журнала, выполнить поиск и замену, а затем записать изменения в тот же файл журнала.
Как лучше всего это сделать в Perl?
Я просто хочу прочитать файл журнала, выполнить поиск и замену, а затем записать изменения в тот же файл журнала.
Как лучше всего это сделать в Perl?
Я обычно кодирую один лайнер для этого:
perl -i -pe 's/some/thing/' log.file
См. здесь
Это часто делается с помощью одной строки:
perl -pi.bak -e "s/find/replace/g" <file>
Обратите внимание на часть -i.bak
— это создает файл резервной копии с расширением .bak
. Если вы хотите играть без сети, вы можете сделать это, чтобы перезаписать существующий файл без резервной копии:
perl -pi -e "s/find/replace/g" <file>
или вы можете использовать sed
(я знаю... вы спрашивали о Perl):
sed -i 's/find/replace/g' <file>