我有三个目录。我想比较 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 中,您想要什么。
关于linux - 比较2个目录并将差异复制到目录3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267735/