Perl:遍历文件并替换

6 perl file substitution

我只想读取日志文件,进行搜索和替换,然后写出对同一日志文件的更改.

在Perl中执行此操作的最佳实践方法是什么?

Tod*_*ner 9

我通常为此编码一个班轮:

perl -i -pe 's/some/thing/' log.file
Run Code Online (Sandbox Code Playgroud)

看到这里

  • 你的shell可能会破坏字符串.尝试用's替换你的's,以便*不会扩展. (2认同)

Mic*_*man 8

这通常是通过单行完成的:

perl -pi.bak -e "s/find/replace/g" <file>
Run Code Online (Sandbox Code Playgroud)

注意-i.bak部分 - 这将创建一个带扩展名的备份文件.bak.如果您想在没有网络的情况下进行游戏,可以执行此操作以覆盖现有文件而无需备份:

perl -pi -e "s/find/replace/g" <file>
Run Code Online (Sandbox Code Playgroud)