我将两个目录与:
进行比较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/
那样?
答案 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会输出每个文件。所以你可能想要重新指定你的要求。(并告诉我们你尝试了什么...... 。)