删除管道提供的文件

删除管道提供的文件

我有这个命令链:

find . -print | grep php | xargs grep 'eval' -sl | xargs wc -l | grep ' [1-2][0-9] '

这为我提供了这个输出:

 14 ./includes/js/calendar/lang/vgju.php
 18 ./includes/phpInputFilter/default.php
 14 ./includes/Archive/eula.php
 18 ./media/system/js/json.php

该文件是受感染的 php 文件,我想用我的链将其删除。我该怎么做?

答案1

尽管您可能可以使用 find 命令完成这一切,但您只能尝试附加|xargs rm -f到该命令。

这是它的样子

find . -print | grep php | xargs grep 'eval' -sl | \
    xargs wc -l | grep ' [1-2][0-9] ' | \
    cut -f 2 -d ' ' | xargs rm -f

请注意,该xargs rm命令在这里起作用,因为您知道文件名中没有任何特殊字符。如果文件名中可能有空格,则可以使用xargs -d '\n' rm -f(仅限 Linux)。

相关内容