error / usr / local / bin / perl:参数列表太长

时间:2010-07-06 07:24:42

标签: regex linux perl shell

我已执行此命令从我的所有网站文件中删除malwarm并保留每个文件的备份但是执行后1分钟后出现错误  / usr / local / bin / perl:参数列表太长

任何人都可以建议一种方法来避免这种错误,PS有一大堆文件:)

 perl -e "s/<script.*PaBUTyjaZYg.*script>//g;" -pi.save $(find /home/ -type f -name '*php*')

1 个答案:

答案 0 :(得分:12)

使用xargs命令从STDIN读取文件名,并多次运行该命令,尽可能多地传递目标命令的每次调用文件名

find /home/ -type f -name '*php*' -print0 | xargs -0 perl -e "s/<script.*PaBUTyjaZYg.*script>//g;"

find的print0参数与xargs的-0参数一起使用,以确保文件名以空字符终止。这可以防止带有嵌入空格的文件名导致错误。