linux-比较2个目录并将差异复制到目录3

我有三个目录.我想将directory1与directory2进行比较,然后进行这些更改/新文件并将其复制到directory3.有没有简单的方法可以做到这一点,也许是通过使用linux diff和cp命令?我愿意接受想法.

谢谢!

安德鲁

解决方法:

我相信这就是您想要的描述.

for file in dir2/*; do
    file_in_dir1=dir1/$(basename ${file})
    if [ ! -e  ${file_in_dir1} ]; then
        # If the file in dir2 does not exist in dir1, copy
        cp ${file} dir3
    elif ! diff ${file} ${file_in_dir1}; then
        # if the file in dir2 is different then the one in dir1, copy
        cp ${file} dir3
    fi
done

我不确定的一件事是,如果文件存在于dir1而不是dir2中,那么您想要的是什么.

上一篇:PHP的问题…如何检查是否在两个值之间?


下一篇:java-如何轻松地将修改后的代码与参考实现进行比较?