基本上我正在尝试将dir1和dir2(不包括子目录)的内容复制到dir3中。需要注意的是,如果dir1和dir2中都存在文件,我需要复制较新的文件。让我们说dir2中存在较新的文件。
我有:
find dir1 -type f -exec cp {} dir3 \;
find dir2 -type f -exec cp -u {} dir3 \;
这样做会导致这个问题:由于dir1中的文件是在dir2之前复制的,所以来自dir1的文件(现在在dir3中)都被认为是更新的,并且不会被覆盖。
我想你必须在dir1中处理一个文件,检查它是否存在于dir2中,然后检查哪个更新。但是我不知道怎么做,除此之外你可以使用“-nt”。我想我只是走错了方向。
答案 0 :(得分:3)
cp -vfudp dir1/* dir3/
cp -vfudp dir2/* dir3/