两个目录的不同文件

Modified on: Wed, 29 May 2019 06:40:02 +0800

我想要比较两个目录。我尝试了diff,但它包含了文件内部的更改。我想要的只是这样的

file a is just in /A 
file b is missing in /A 
file c changed
directory d is missing in /A 
directory e is just in /A

我认为这在进行完整文件修补时很常见,但我不知道一个好的解决方案。

作者:Wienczny

最佳答案

您正在寻找

diff -rq (dir1) (dir2)

概念证明:

#!/bin/sh #create our test mkdir -p /tmp/a/b echo "test" >> /tmp/a/c mkdir -p /tmp/a/d/e echo "blah" >> /tmp/a/d/e/f #only exists here mkdir -p /tmp/q/b echo "testing" >> /tmp/q/c #/tmp/a/c shouldnt match mkdir -p /tmp/q/d/e echo "blah" >> /tmp/q/d/e/g #only exists here diff -rq /tmp/a /tmp/q

结果:

#!/bin/sh
#create our test
mkdir -p /tmp/a/b
echo "test" >> /tmp/a/c
mkdir -p /tmp/a/d/e
echo "blah" >> /tmp/a/d/e/f #only exists here
mkdir -p /tmp/q/b
echo "testing" >> /tmp/q/c #/tmp/a/c shouldnt match
mkdir -p /tmp/q/d/e
echo "blah" >> /tmp/q/d/e/g #only exists here
diff -rq /tmp/a /tmp/q

相关问答

添加新评论