合并具有相同名称的子目录

时间:2014-05-07 21:09:02

标签: linux merge directory

也许我错了,但我还没有看到这个问题的满意答案。

我有两个包含~100个子目录的目录。在目录中,每个子目录具有相同的名称。

例如,第一个目录将包含subdir1,subdir2,subdir3,第二个目录将包含subdir1 subdir2,subdir3。

在每个子目录中,需要的所有文件都以两个子目录之一结束。

所以基本上我需要一种匹配相同子目录名称并将文件从一个添加到另一个的方法。这样来自directory1 / subdir1和directory2 / subdir1的所有文件最终都在同一个地方。

要手动执行此操作的文件太多非常实用。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

为什么不

cp -r source/ target/

或者,也许

for name in subdir1 subdir2 subdir3; do cp -r */"$name"/; done

添加-v以查看要复制的内容。 -u仅用于#34;仅更新"

答案 1 :(得分:0)

使用这些命令

>mkdir your_new_dir
>do for j in 1 100; do mkdir your_new_dir/subdir${j}; done
>for i in 1 2; do for j in `seq 1 100`; do cp directory${i}/subdir{$j}/* your_new_dir/subdir${j}/; done;done

请注意,如果您的文件名称相同,则会被覆盖。