需要unix中使用xargs命令查找的帮助吗
我试图用下面的find命令删除文件,很少有文件没有被删除,所有这些文件名都是:filname.123.log 我无法重命名或无法对文件名执行任何操作只需删除 命令 我在谷歌上搜索并尝试使用下面的命令,但它给出了不同的错误需要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 /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 {} +