【发布时间】:2024-01-03 23:10:01
【问题描述】:
我正在尝试在一堆文档中将&00 替换为@n。做了一些挖掘,但说实话,我对 perl 不是很好。我尝试添加一些转义字符和其他一些东西。我怎样才能让下面的命令工作?它似乎不喜欢我替换@n(原因很明显)。
perl -pi -w -e 's/&00/@n/g;' *.wld
谢谢
【问题讨论】:
标签: regex perl replace special-characters
我正在尝试在一堆文档中将&00 替换为@n。做了一些挖掘,但说实话,我对 perl 不是很好。我尝试添加一些转义字符和其他一些东西。我怎样才能让下面的命令工作?它似乎不喜欢我替换@n(原因很明显)。
perl -pi -w -e 's/&00/@n/g;' *.wld
谢谢
【问题讨论】:
标签: regex perl replace special-characters
@n 指的是一个空数组。当插入一个空数组时,结果是空字符串。因此,您的命令似乎会删除所有出现的&00。
在这里转义 @ 应该会有所帮助:
perl -i -wpe's/&00/\@n/g' *.wld
(不带参数的标志可以堆叠)
【讨论】:
perl -p -w -> perl -pw
find /all /needed /directories -type f -name \*.wld | xargs perl <...> find(1) 递归搜索文件。 xargs(1) 运行从标准输入读取的任何命令 + 参数。