2008-12-09 26 views
14

Tôi có hai tệp có sự khác biệt nhỏ. Một thông thường diff sẽ cho tôi thấy sự khác biệt giữa các tập tin. Với -c hoặc -u Tôi có thể thêm một lượng ngữ cảnh vào từng đoạn. Tôi có thể chuyển các tùy chọn nào đến diff để xem mọi dòng không thay đổi cùng với các thay đổi và nhận được sự khác biệt dưới dạng một phần lớn duy nhất?Tôi có thể phân biệt hai tệp với ngữ cảnh đầy đủ bằng cách nào?

+2

Nếu bạn xảy ra để biết một ràng buộc về kích thước của các tập tin, làm thế nào về chỉ cần đi qua một đối số lớn để-U? diff -U 9999 ... –

Trả lời

20

Sử dụng tùy chọn "-y" cho phụ đầy đủ bởi đầu ra phía

diff file1 file2 -y

sẽ cung cấp cho bạn kết quả như thế

* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
* Praesent fringilla facilisis pede.       * Praesent fringilla facilisis pede. 
* Nulla sit amet tellus id massa luctus pellentesque.   * Nulla sit amet tellus id massa luctus pellentesque. 
* Pellentesque a neque nec elit aliquam congue.     * Pellentesque a neque nec elit aliquam congue. 
* Quisque rhoncus ultricies elit.        * Quisque rhoncus ultricies elit. 
* Pellentesque laoreet urna id arcu.       * Pellentesque laoreet urna id arcu. 
* Aenean non erat et elit egestas dictum.      * Aenean non erat et elit egestas dictum. 
* Proin ornare sem eget nulla.         * Proin ornare sem eget nulla. 
* Phasellus placerat convallis elit.       * Phasellus placerat convallis elit. 
* Donec ultricies metus non purus.        * Donec ultricies metus non purus. 
* Sed vel enim et nunc accumsan egestas.      * Sed vel enim et nunc accumsan egestas. 
* Cras eget elit in purus luctus ornare.      * Cras eget elit in purus luctus ornare. 
* In pharetra ligula sodales pede.       < 
* Morbi consectetuer mi vitae sem.        * Morbi consectetuer mi vitae sem. 
* Donec sollicitudin pretium erat.        * Donec sollicitudin pretium erat. 
* Cras facilisis nunc sed leo.         * Cras facilisis nunc sed leo. 
* Nunc varius ante sed nisi.         * Nunc varius ante sed nisi. 
                   > THIS SHOULDN'T BE HERE 
                   > THIS SHOULDN'T EITHER! 
* Aenean in quam sagittis est ornare ultricies.     * Aenean in quam sagittis est ornare ultricies. 
* Etiam dignissim scelerisque velit.       * Etiam dignissim scelerisque velit. 
* Mauris porta fringilla sapien.        * Mauris porta fringilla sapien. 
* Proin vitae nisl vitae mauris viverra tempor.     * Proin vitae nisl vitae mauris viverra tempor. 
* Maecenas quis arcu sed lorem mollis bibendum.     * Maecenas quis arcu sed lorem mollis bibendum. 
* Morbi sed turpis non risus molestie posuere.    | * Morbi sed non risus molestie posuere. 
* Curabitur id magna in nulla commodo tristique.    * Curabitur id magna in nulla commodo tristique. 
* Praesent quis nulla vel augue faucibus viverra.    | * Praesent quis nulla BAD vel augue faucibus viverra. 
* Sed interdum libero.          | * Sed lacinia interdum libero. 
                   > ANOTHER ADDITION 
* Donec ultricies posuere arcu.         * Donec ultricies posuere arcu. 
* Etiam interdum auctor mi.          * Etiam interdum auctor mi. 
20

Bạn cũng có thể ghi đè lên các định dạng khác hành vi để có được hành vi mong muốn của bạn mà không cần sử dụng chế độ song song:

diff --new-line-format='+%L' --old-line-format='-%L' --unchanged-line-format=' %L' file1 file2 

T lệnh của ông sẽ cho bạn thấy những tập tin đầy đủ như bối cảnh và được gần gũi nhất ở định dạng để diff -u file1 file2

+0

Cảm ơn câu trả lời này - bất kỳ ý tưởng làm thế nào để thêm một hunk vào đó? Tôi muốn sử dụng 'diff2html.py', chấp nhận khác biệt thống nhất; và tôi phải tự nói: '(echo -e" --- _L.txt \ n +++ _R.txt \ n @@ -1,100 +1,100 @@ "&& diff --new-line-format ... _L.txt _R.txt) | python diff2html.py> LR.html' để buộc màu cú pháp của nó; Tuy nhiên tôi chỉ tự ý thêm số hunk ở đó cho đến khi nó bắt đầu hoạt động - và tôi muốn 'diff' xuất ra một hunk cho điều đó. Có thể không? Chúc mừng! – sdaau

1

Giải pháp là để thiết lập một kích thước bối cảnh (-U luận) là lớn hơn so với tập tin bản thân:

diff -U 1000000 file1.txt file2.txt 
Các vấn đề liên quan