![如何将多个子文件夹中的所有文件合并到一个大文件夹中?](https://linux22.com/image/835433/%E5%A6%82%E4%BD%95%E5%B0%86%E5%A4%9A%E4%B8%AA%E5%AD%90%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E5%90%88%E5%B9%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E5%A4%A7%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%EF%BC%9F.png)
如何将来自几个不同子目录的具有不同扩展名的所有文件复制到一个主文件夹中?
答案1
如果您不想保留目录结构而只想将所有文件移动到一个文件夹中,您可以执行此类操作。
find /src/folder/1 /src/folder/2 -type f -exec cp {} /path/to/destination/ \;
这将查找-type f
给定源文件夹中的每个文件,然后-exec
对其执行命令。在本例中,您需要将cp
它们复制到目标文件夹中。
请记住,这将以递归方式完全遍历源文件夹。如果您只想深入到源目录的某一层,请使用-maxdepth
find 命令上的选项。
find /src/folder/1 /src/folder/2 -type f -maxdepth 2 -exec cp {} /path/to/destination/ \;
答案2
find ./ -type f -exec cp '{}' ./ \;