diff 仅将文件名存储在另一个文件中

diff 仅将文件名存储在另一个文件中

我想应用 diff 来递归地与目录进行比较,并将其输出存储在c.txt\n中
,当我使用diff -qr dir1 dir2 >c.txtIt store 之类的东西时Files dir1/a.txt and dir2/a.txt differ。但我只想存储a在其中。任何建议

答案1

看起来您只需要比较同名的文件。如果文件不同则退出并显示diff代码,否则退出。10

for f in dir1/*
do
    b = `basename $f`
    [[ -f dir2/$b ]] && [[ diff -q $f dir2/$b ]] && echo $b >> c.txt
done    

这比处理diff输出更容易。

相关内容