2009-10-29 23 views
79

Có hai thư mục có xấp xỉ. 150 tệp thuộc tính java.So sánh hai thư mục có nhiều tệp trong nội dung

Trong tập lệnh trình bao, cách so sánh cả hai thư mục để xem liệu có bất kỳ tệp thuộc tính mới nào trong số đó hay không và sự khác nhau giữa các tệp thuộc tính là gì.

Đầu ra phải ở định dạng báo cáo.

Trả lời

152

Để có được tóm tắt mới/file đã mất, và những tệp tin khác nhau:

diff -arq folder1 folder2 
+5

'a' xử lý tất cả các tệp dưới dạng văn bản,' r' đệ quy tìm kiếm thư mục con, 'q' báo cáo 'một thời gian ngắn', chỉ khi các tệp khác nhau – MackM

+0

@reko_t là có cách nào để chạy điều này thông qua' Java' –

23

diff -r sẽ thực hiện việc này, thông báo cho bạn cả nếu có bất kỳ tệp nào đã được thêm hoặc xóa và những gì đã thay đổi trong các tệp đã được sửa đổi.

-1

Diff lệnh trong Unix được sử dụng để tìm ra sự khác biệt giữa các tập tin (tất cả các loại). Kể từ khi thư mục cũng là một loại tập tin, sự khác biệt giữa hai thư mục có thể dễ dàng được tìm ra bằng cách sử dụng các lệnh khác. Để có thêm tùy chọn, hãy sử dụng man diff trên hộp unix của bạn.

-b    Ignores trailing blanks (spaces and tabs) 
       and treats other strings of blanks as 
       equivalent. 

-i    Ignores the case of letters. For example, 
       `A' will compare equal to `a'. 
-t    Expands <TAB> characters in output lines. 
       Normal or -c output adds character(s) to the 
       front of each line that may adversely affect 
       the indentation of the original source lines 
       and make the output lines difficult to 
       interpret. This option will preserve the 
       original source's indentation. 

-w    Ignores all blanks (<SPACE> and <TAB> char- 
       acters) and treats all other strings of 
       blanks as equivalent. For example, 
       `if (a == b)' will compare equal to 
       `if(a==b)'. 

và còn nhiều hơn nữa.

1

tôi đã sử dụng

diff -rqyl folder1 folder2 --exclude=node_modules 

trong nodejs ứng dụng của tôi.

Các vấn đề liên quan