I want to see, recursively, files that are different in two directories. Diff can do this, but it shows me the line-by-line differences, which I don't want. Is there a tool that does this, or a way to do this with Diff ( I read the man page, I didn't see anything ) ?


4 Answers 4


What about

diff -rq DIR1 DIR2


diff -rqb DIR1 DIR2

-r is recursive

-q is for brief, and will just tell you if the files are different (i.e., it won't show the line-by-line differences)

-b ignores whitespace

  • 1
    -b ignores white space changes. Use -q or --brief for the brief option. Oct 9, 2009 at 18:59
  • And I've just upvoted this. I just tried the brief option for the first time. It's very nice output -- shows not just which files are different but identifies which files exist in one directory and not the other. Oct 9, 2009 at 19:02
  • Thanks Doug; I guess I originally had my option rotated 180 degrees. ;) Fixed now.
    – rob
    Oct 9, 2009 at 21:18

You're looking for the -q option:

dlamblin$ diff -r a b
diff -r a/a b/a
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b

One way to do this is to do

diff dir1 dir1| grep "diff "

It will still do a line-by-line comparison, but each file comparison begins with "diff dir1/file dir2/file", so grepping "diff " will show only those lines ( i.e. the files that are different ).


If you're an emacs user, check out ediff-directories. You can see the file differences and then drill down into line-by-line differences if you need to see why they're different.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.