如何将 find 与已编写的脚本一起使用?

如何将 find 与已编写的脚本一起使用?

我知道如何找到最后修改的文件,但如何将它与我已经编写的脚本一起使用。在文件夹中我有数百个文件xyz_<yyyymm>,现在我使用$ find /home/directory/TEST/ -type f -mmin -60,但它中途崩溃。

答案1

如果您想为 find 命令的每个结果执行脚本,您可以使用,但通常我更喜欢与 find 一起xargs使用。-exec所以你可以这样做:

find /home/directory/TEST/ -type f -mmin -60 -exec /path/to/your/script {} \;

并且匹配的文件的名称find将被放置在{}每次匹配的位置

答案2

如果您想要做的是find迭代多个文件,然后将每个文件名传递给脚本,则可以使用xargs,特别是如果文件列表非常大并且您发现事情在中途崩溃。

在这里,我遍历当前工作目录查找所有文件,然后将每个文件名传递给 perl 脚本,该脚本仅打印出名称:

find . -type f | xargs -0 ./script.pl

您可以调整find命令字符串以满足您的需要。

相关内容