需要unix中使用xargs命令查找的帮助吗

需要unix中使用xargs命令查找的帮助吗,unix,xargs,Unix,Xargs,我试图用下面的find命令删除文件,很少有文件没有被删除,所有这些文件名都是:filname.123.log 我无法重命名或无法对文件名执行任何操作只需删除 命令 我在谷歌上搜索并尝试使用下面的命令,但它给出了不同的错误 $ find /BASE/CODE/LOGS_BACK -type f -mtime +60 | xargs -0 rm -f xargs: argument line too long 您能帮个忙吗?在xargs中使用-0选项意味着在find中使用-print0选项: fi

我试图用下面的find命令删除文件,很少有文件没有被删除,所有这些文件名都是:filname.123.log

我无法重命名或无法对文件名执行任何操作只需删除 命令

我在谷歌上搜索并尝试使用下面的命令,但它给出了不同的错误

$ find /BASE/CODE/LOGS_BACK -type f -mtime +60 | xargs -0 rm -f
xargs: argument line too long

您能帮个忙吗?

在xargs中使用-0选项意味着在find中使用-print0选项:

find/BASE/CODE/LOGS_BACK-type f-mtime+60-print0| xargs-0rm-f


然后,查找的所有结果都将以'\0'NUL char结尾,xargs将通过使用相同的char进行解析来正确地重新生成列表。

find
可以直接为每个结果执行命令:

$ find /BASE/CODE/LOGS_BACK -type f -mtime +60 -exec rm -f {} \;

{}
将替换为每个匹配的文件名<代码>\结束命令。

这是实现所需的最快方法:

find /BASE/CODE/LOGS_BACK -type f -mtime +60 -exec rm -f {} +
注意结尾的
+
xargs
的作用相同

find /BASE/CODE/LOGS_BACK -type f -mtime +60 -exec rm -f {} +