Lihat dua file teks secara bersamaan berdampingan

21

Saya punya dua file teks. Setiap baris mewakili satu baris dalam satu bahasa. Saya perlu memeriksa apakah keberpihakan selalu cocok. Karena itu saya memerlukan program yang menampilkan kedua file teks pada saat yang sama dengan nomor baris.

Saya mencoba difus, tetapi itu mencoba untuk menyelaraskan file - jika secara kebetulan dua baris sama, perbandingan garis keseluruhan bijaksana tidak berfungsi.

pengguna1406177
sumber

Jawaban:

28

Gunakan Vim, dengan scrollbindset. Sebagai contoh:

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

masukkan deskripsi gambar di sini

Dengan scrollbind, jika Anda menggulir dalam satu jendela, jendela terikat lainnya juga menggulir pada saat yang sama. Untuk memiliki nomor baris, cukup ~/.vimrcberisi minimal dua baris berikut ini:

set nocompatible
set number

Bukan berarti Anda perlu sebuah vimrcuntuk ini - itu dapat dilakukan sepenuhnya dari commandline:

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

Bagaimana dengan perintah dari masa-masa awal Unix?

pr -m file1 file2

Sebagai contoh:

pr  -m English Spanish

2016-01-18 00:34                                                  Page 1

this is something                esto es algo
hello, there                     Hola

Pembaruan: Anda dapat menyesuaikan keluaran dengan ukuran terminal Anda dengan menggunakanless

pr -m file1 file2 | less
Edward Torvalds
sumber
4
Jika saya bisa menyarankan demikian, pipa output less -Nuntuk menunjukkan nomor baris bersama. pr -m file1 file2 | less -N.
Sergiy Kolodyazhnyy
11

Dari GUI Anda dapat mencoba meld:

tangkapan layar

Ini tidak persis apa yang Anda minta, tetapi harus sebanyak berguna untuk tujuan Anda.

Bagian teks tambahan akan disorot dalam warna hijau, bagian teks yang berbeda akan disorot dengan warna biru (dan juga di bagian teks yang berbeda, karakter tambahan akan disorot dengan warna biru gelap).

Berfungsi juga untuk lebih dari dua file pada saat itu.

kos
sumber
Saya suka & menggunakan meld, kdiff3, bahkan sdiff; tetapi jika saya hanya ingin melihat dua file berdampingan yang (seharusnya) berbeda (misalnya, kumpulan sumber daya terjemahan i18n - properti cocok, nilainya tidak; mencari properti yang hilang), maka upaya untuk berbaris pencocokan garis & tanda garis yang berbeda sebenarnya adalah negatif.
michael
@ Michaelich Aku bingung untuk memahami mengapa itu akan menjadi negatif. Mungkin saya kehilangan intinya, tetapi jika Anda menggunakan meldAnda harus memperhatikan bahwa dalam kasus-kasus seperti kasus yang Anda gambarkan garis-garisnya disorot dengan warna biru yang lebih terang dan karakter tambahan spesifik dalam warna biru yang lebih gelap, membuat perbedaan yang tepat keluar secara instan . Atau apakah saya melewatkan sesuatu?
kos
Anda benar sekali, dan saya seharusnya mengklarifikasi; masalahnya adalah alat-alat ini tidak memiliki opsi konfigurasi untuk mengharapkan dan memungkinkan perbedaan tertentu harus ada di sana (afaik). Dalam beberapa kasus, mereka menganggap keseluruhan file terlalu berbeda untuk repot-repot berbaris. Misalnya, opsi yang berguna (dengan contoh saya: msg.text = "Hello" vs msg.text = "Bonjour") adalah mengabaikan bagian dari dua file dengan "karakter N pertama", atau regexp: "^. * = "
michael
Sebenarnya, saya pikir sdiff memang memiliki opsi untuk diabaikan oleh regexp (tapi saya tidak positif). Namun, jika itu hanya teks bentuk bebas dari bahasa Prancis & Inggris, tidak perlu menyorot apa pun, dan segala upaya untuk mencocokkan garis - seperti yang saya sebutkan - akan menjadi negatif. Terkadang, kami hanya ingin melihat file berdampingan (dan itulah inti dari pertanyaan awal, seperti yang saya pahami).
michael
@michael_n Sebenarnya saya hanya memperhatikan hal perbandingan bahasa, untuk beberapa alasan awalnya saya pikir mereka membutuhkan alat perbandingan teks yang lebih umum. Mungkin Anda benar, saya harus menghapus ini, meskipun saya juga mempertimbangkan bahwa pertanyaan-pertanyaan berjudul secara umum seperti ini biasanya menarik banyak kunjungan dari mesin pencari (misalnya jika saya Google "file berdampingan Ubuntu" saat ini adalah yang ketiga hasil). Jadi mungkin lebih baik jika tetap dalam kasus ini. Lagi pula itu seharusnya tidak sakit. Jawaban yang tepat sudah membuat bagian atas tumpukan.
kos
5

Di baris perintah yang bisa Anda gunakan

 paste file1 file2 | less -N
Florian Diesch
sumber
0

Jika Anda mencari terjemahan, Anda mungkin menemukan Poedit berguna. Ini dapat menampilkan dua teks berdampingan untuk Anda dan dibuat untuk bekerja dengan terjemahan.

MemuatSilahkan Tunggu
sumber
1
alih-alih hanya menempelkan tautan ke solusi, Anda harus menjelaskannya 'bagaimana' juga
Edward Torvalds
Yang ini tampaknya terbatas untuk bekerja dengan gettext.
carnendil