Xem hai tệp văn bản cùng một lúc


21

Tôi có hai tập tin văn bản. Mỗi dòng đại diện cho một dòng trong một ngôn ngữ. Tôi cần kiểm tra xem sự liên kết luôn luôn phù hợp. Do đó, tôi cần một chương trình hiển thị cả hai tệp văn bản cùng một lúc với số dòng.

Tôi đã cố gắng khuếch tán, nhưng điều đó cố gắng căn chỉnh các tệp - nếu tình cờ hai dòng bằng nhau, thì so sánh trực quan toàn dòng không hoạt động.

Câu trả lời:


28

Sử dụng Vim, với scrollbindbộ. Ví dụ:

vim -O +'windo set scrollbind' /etc/profile /etc/profile.pacnew

nhập mô tả hình ảnh ở đây

Với scrollbind, nếu bạn cuộn trong một cửa sổ, các cửa sổ bị ràng buộc khác cũng cuộn cùng một lúc. Để có số dòng, một dòng ~/.vimrcchứa tối thiểu hai dòng sau là đủ:

set nocompatible
set number

Không phải là bạn cần một thứ vimrcnày - nó có thể được thực hiện hoàn toàn từ dòng lệnh:

vim -NO +'set nu' +'windo set scrollbind' file1 file2 ...

12

Làm thế nào về một lệnh từ những ngày đầu của Unix?

pr -m file1 file2

Ví dụ:

pr  -m English Spanish

2016-01-18 00:34                                                  Page 1

this is something                esto es algo
hello, there                     Hola

Cập nhật: Bạn có thể điều chỉnh đầu ra phù hợp với kích thước của thiết bị đầu cuối của mình bằng cách sử dụngless

pr -m file1 file2 | less

4
Nếu tôi có thể đề xuất như vậy, hãy đặt đầu ra less -Nđể hiển thị các số dòng với nhau. pr -m file1 file2 | less -N.
Sergiy Kolodyazhnyy

11

Từ GUI bạn có thể thử meld:

ảnh chụp màn hình

Đó không phải là chính xác những gì bạn yêu cầu, nhưng nó sẽ hữu ích cho mục đích của bạn.

Các phần văn bản bổ sung sẽ được tô sáng màu xanh lục, các phần văn bản khác nhau sẽ được tô sáng màu xanh lam (và tương tự trong các phần khác nhau của văn bản, các ký tự bổ sung sẽ được tô sáng màu xanh lam đậm hơn).

Hoạt động cũng cho hơn hai tập tin tại thời điểm đó.


Tôi thích và sử dụng meld, kdiff3, thậm chí sdiff; nhưng nếu tôi chỉ muốn xem hai tệp cạnh nhau (được cho là) ​​khác nhau (ví dụ: gói tài nguyên dịch i18n - thuộc tính khớp, giá trị không; tìm kiếm các thuộc tính bị thiếu), thì các nỗ lực xếp hàng khớp dòng & đánh dấu dòng khác nhau thực sự là một tiêu cực.
michael

@michael_n Tôi không hiểu tại sao điều đó lại là tiêu cực. Có thể tôi đang thiếu điểm, nhưng nếu bạn sử dụng, meldbạn nên chú ý rằng trong các trường hợp như trường hợp bạn mô tả các dòng được tô sáng màu xanh lam nhạt và các ký tự bổ sung cụ thể có màu xanh đậm hơn, tạo ra sự khác biệt chính xác ngay lập tức . Hay tôi đang thiếu một cái gì đó?
kos

Bạn hoàn toàn chính xác, và tôi nên đã làm rõ; vấn đề là những công cụ này không có một tùy chọn cấu hình để mong đợi và cho phép điều đó khác biệt nhất định nên có mặt ở đó (afaik). Trong một số trường hợp, họ coi toàn bộ tập tin quá khác nhau thậm chí còn bận tâm xếp hàng. Vd = "
michael

Trên thực tế, tôi nghĩ rằng sdiff có một tùy chọn để bỏ qua bằng regrec (nhưng tôi không tích cực). Tuy nhiên, nếu đó chỉ là văn bản dạng tự do từ tiếng Pháp và tiếng Anh, thì không cần phải làm nổi bật bất cứ điều gì, và bất kỳ nỗ lực nào để khớp với các dòng - như tôi đã đề cập - sẽ là một tiêu cực. Đôi khi, chúng tôi chỉ muốn xem các tệp cạnh nhau (và đó là bản chất của câu hỏi ban đầu, như tôi đã hiểu).
michael

@michael_n Thật ra tôi chỉ chú ý đến điều so sánh ngôn ngữ, vì một số lý do ban đầu tôi nghĩ họ cần một công cụ so sánh văn bản có mục đích chung hơn. Có lẽ bạn đúng, tôi nên xóa cái này, mặc dù tôi cũng đang xem xét các câu hỏi có tiêu đề chung chung vì câu hỏi này thường thu hút rất nhiều lượt truy cập từ các công cụ tìm kiếm (ví dụ: nếu tôi Google "tập tin bên cạnh Ubuntu" thì đây hiện là câu hỏi thứ ba kết quả). Vì vậy, có lẽ tốt hơn nếu nó ở trong trường hợp này. Rốt cuộc nó không nên đau. Câu trả lời chính xác làm cho đỉnh của ngăn xếp đã có.
kos

5

Trên dòng lệnh bạn có thể sử dụng

 paste file1 file2 | less -N

0

Nếu bạn đang xem bản dịch, bạn có thể thấy Poedit hữu ích. Nó có thể hiển thị hai văn bản cạnh nhau cho bạn và được tạo để làm việc với các bản dịch.


1
thay vì chỉ dán các liên kết đến giải pháp, bạn cũng nên giải thích nó 'như thế nào'
Edward Torvalds

Điều này dường như bị giới hạn để làm việc với gettext.
Carnendil
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.