Shell脚本 - 目录比较 - 输出

时间:2013-04-23 17:19:03

标签: bash shell

我将两个目录与​​:

进行比较
diff --brief -s dir1/ dir2/

工作正常,我得到以下输出:

Only in dir1/: test1
Files dir1/test2 and dir2/test2 differ
Only in dir2/: test3
Files dir1/test4 and dir2/test4 are identical

是否可以获得列出的文件test1 ... test4的输出,如ls -l dir1/那样?

1 个答案:

答案 0 :(得分:0)

您可以创建一个awk脚本来为您执行此操作,例如

diff --brief -s dir1/ dir2/ | awk '
    /^Only in/ { system("ls -l " gensub(":$","","1",$3) $4) }
    /^Files/ { system("ls -l " $2 " " $4) }'

但是这会产生与ls -l dir1/ dir2/相同的结果(错误的顺序)...(因为diff会输出每个文件。所以你可能想要重新指定你的要求。(并告诉我们你尝试了什么...... 。)