当与查找一起使用时,为什么perl删除文件内容



任何人都可以看到为什么perl与find一起使用时删除所有文件内容?

echo stning >> test.tex
echo stning >> test.tex
find . -type f -name *.tex -print0 | xargs -0 perl -i -ne 's/stning/sætning/g' 
cat test.tex 

最后一个命令不返回任何问题,也没有任何问题。

您需要-p,而不是-n-n标志仅读取但不打印。

find . -type f -name *.tex -print0 | xargs -0 perl -i -pe 's/stning/sætning/g' 

您可以轻松地使用Mnemonic Perl Pie ,即perl -p -i -e或较短的perl -pi -e

您可以通过SED本身实现您的结果。因为您需要内联替换。

find . -type f -name *.tex -print0 | xargs -0 sed -i 's/stning/sætning/g' 

最新更新