# 对比两个目录都存在的文件内容 for i in `diff -qr ${dir1} ${dir2} egrep "^Files.*differ$" sed 's/^Files .* and \(.*\) differ$/\1/'` do #echo $i echo ${i#${dir2}/} xargs -i cp --parents {} ${dir3} done
# 对比两个目录不存在的文件或目录 for j in `diff -qr ${dir1} ${dir2} awk '/^Only/ {sub(/:/,"/",$3);print $3$4}' egrep "^${dir2}.*"` do echo ${j#${dir2}/} xargs -i cp -r --parents {} ${dir3} done