Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用(shell)find递归查找特定类型的文件,然后只为每个文件夹查找最新的文件_Shell - Fatal编程技术网

如何使用(shell)find递归查找特定类型的文件,然后只为每个文件夹查找最新的文件

如何使用(shell)find递归查找特定类型的文件,然后只为每个文件夹查找最新的文件,shell,Shell,我正在尝试编写一个脚本,该脚本进入一个文件夹,该文件夹包含一组解压缩的zip文件,然后使用find命令递归搜索每个子目录,查找.MCA类型的文件,最后只将最新的文件复制到另一个目录。到目前为止,我还不知道如何只抓取最新的文件。你想换一个新的工作吗?如何为每个文件执行此操作 find . -mindepth 2 -name "*.MCA" -exec cp {} tempMCA \; 如果可以使用rsync而不是cp,则可以运行: find . -mindepth 2 -name '*.MCA'

我正在尝试编写一个脚本,该脚本进入一个文件夹,该文件夹包含一组解压缩的zip文件,然后使用find命令递归搜索每个子目录,查找.MCA类型的文件,最后只将最新的文件复制到另一个目录。到目前为止,我还不知道如何只抓取最新的文件。你想换一个新的工作吗?如何为每个文件执行此操作

find . -mindepth 2 -name "*.MCA" -exec cp {} tempMCA \;

如果可以使用
rsync
而不是
cp
,则可以运行:

find . -mindepth 2 -name '*.MCA' -exec rsync --update {} tmpMCA \;

--update
选项告诉
rsync
仅当源文件比目标文件新时才复制文件。

我使用了这个命令,但它没有做任何事情。我应该提到,在每个子文件夹中通常有3-15个这样的.MCA文件,我只想要最新的。他们的标题有一个时间戳,我也可以用来比较。