Cách khác biệt thư mục cho các tệp khác nhau, nhưng không phải từng dòng một


16

Tôi muốn xem, đệ quy, các tệp khác nhau trong hai thư mục. Diff có thể làm điều này, nhưng nó cho tôi thấy sự khác biệt theo từng dòng mà tôi không muốn. Có một công cụ nào thực hiện điều này hay một cách để làm điều này với Diff (Tôi đọc trang người đàn ông, tôi không thấy gì cả)?

Câu trả lời:


29

Thế còn

diff -rq DIR1 DIR2

hoặc là

diff -rqb DIR1 DIR2

-r là đệ quy

-q là ngắn gọn và sẽ chỉ cho bạn biết nếu các tệp khác nhau (nghĩa là nó sẽ không hiển thị sự khác biệt theo từng dòng)

-b bỏ qua khoảng trắng


1
-b bỏ qua thay đổi không gian màu trắng. Sử dụng -q hoặc --brief cho tùy chọn ngắn gọn.
Doug Harris

Và tôi vừa nêu lên điều này. Tôi chỉ thử tùy chọn ngắn gọn lần đầu tiên. Đầu ra rất đẹp - không chỉ hiển thị tệp nào khác mà còn xác định tệp nào tồn tại trong một thư mục và không phải tệp khác.
Doug Harris

Cảm ơn Doug; Tôi đoán ban đầu tôi có lựa chọn của mình xoay 180 độ. ;) Đã sửa bây giờ.
cướp

2

Bạn đang tìm kiếm -qtùy chọn:

dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
> 
> 
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b

1

Một cách để làm điều này là làm

diff dir1 dir1| grep "diff "

Nó vẫn sẽ thực hiện so sánh từng dòng, nhưng mỗi so sánh tệp bắt đầu bằng "diff dir1 / file dir2 / file", do đó, grepping "diff" sẽ chỉ hiển thị các dòng đó (tức là các tệp khác nhau).


1

Nếu bạn là người dùng emacs, hãy xem các thư mục ediff. Bạn có thể thấy sự khác biệt của tệp và sau đó đi sâu vào sự khác biệt theo từng dòng nếu bạn cần xem tại sao chúng khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.