我有多个目录中的文件,我只想复制那些在所有目录中找到扩展名的目录。这是一个例子:
dir1
file1.txt
file2.bcd
file3.aa
dir2
file4.ogg
file5.txt
file6.bcd
dir3
file7.pgp
file8.bcd
file9.aa
复制命令或脚本只能将file2.bcd
和file6.bcd
以及file8.bcd
复制到输出目录,因为它们曾经是所有人共有的目录。这只是一个示例,目录中的文件扩展名与文件类型无关,我想将这些扩展名复制到所有目录中。
Output
file2.bcd
file6.bcd
file8.bcd
如果我事先知道重叠的文件扩展名,我可以使用find
,cp
或mv
来讨论here。
感谢您的帮助,
编辑: 如果有人需要,我已解决了以下问题。
1. Find and print only file extensions.
2. Sort and count the extensions.
3. If count equals folders searched, then copy file to output directory.
当然,这种方法假定每个文件扩展名只能在每个文件夹中找到一次,而且恰好是我的文件。
答案 0 :(得分:0)
您可以使用find
命令将文件复制到输出目录
find ./ -type f -name '*.<file_ext>' -exec cp -r {} /output/ \;
将 file_ext 替换为文件扩展名。