linux - 按名称查找文件夹然后复制文件

标签 linux macos unix terminal

我需要找到名为“child”的子目录,并将这些文件夹中的文件复制到一个新目录中。无法正常工作。

我可以找到子目录,但无法从中复制文件。

> find /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/2016/03_2016 -type d -iname child

以上将找到 03_2016 中名为“child”的所有子目录,但我现在如何复制这些目录中的文件?

我试过了,但问题是它似乎想复制目录本身,而不仅仅是文件:

> find /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/2016/03_2016 -type d -iname child | xargs cp '{}' /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/TEST \;

我无法让它只定位文件。

最佳答案

这可能比上面的答案更清晰:

find $(find /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/2016/03_2016 -type d -iname child | xargs) -type f -exec cp {} /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/TEST \;

两次调用 find,一次调用 xargs。与其他答案一样,这也会覆盖重复的文件名。

关于linux - 按名称查找文件夹然后复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47402113/

相关文章:

linux - 从多个视频中提取元数据

ios - 从本地网络上的iOS访问并写回linux服务器上的txt文件

java - 我想恢复我的 MAc os 10.7.4 的默认 java CLASSPATH

linux - 根据标题类别将行转换为属于不同类别的相应列

linux - 具有多个 execStart 的 Systemd

java - 跟踪子/子进程的进程 ID?

java - 在 Mac 上启动 Java 应用程序的另一个实例

c++ - 如何使用 macports 安装 clang 3.1? (OSX,雪豹)

shell - 如何在 unix shell 脚本/VI 中键入 ^A

unix - 相当于 ftp put 和 append in scp