找到文档文件并将其复制到另一个目录

找到文档文件并将其复制到另一个目录

这是一个比较基本的问题,但我试图复制我在一个目录中找到的所有 .doc 文件并将它们复制到另一个目录。

我知道每个命令:

find -name '*.doc' .

和:

cp filename location 

我怎样才能结合这两个命令?

答案1

查找/path/to/search-name“*.doc”-exec cp {} /path/to/copy/to \;

如果有很多 .doc 文件,这是避免遇到字符限制

答案2

另一种可能性:

find /path/to/search -name \*.doc -print0 | xargs -0 cp --target-directory=/destination/path

与 find -exec 相比,这减少了复制命令的调用次数(如果您有大量文件,速度会明显更快)

答案3

在 Solaris 上,可以使用以下命令:

find /path/to/search -name "*.doc" -exec cp {} /destination/directory \;

答案4

为了将你的问题从“.doc”推广到“.jpg”或其他二进制图像文件,你需要额外的开源工具,例如塔吉姆回忆

塔吉姆将用关键词(或评级)标记你的图片,然后你可以使用以下方式对它们进行排序/过滤回忆并将列表流化以cpxargs它们插在一起:

recollq 'ofJoe ext:jpg' | xargs cp --target-directory=~/Photos/ofJoe

相关内容