2つのテキストファイルを同時に並べて表示する


21

2つのテキストファイルがあります。各行は、1つの言語の行を表します。配置が常に適合するかどうかを確認する必要があります。したがって、両方のテキストファイルを行番号とともに同時に表示するプログラムが必要です。

拡散を試みましたが、それはファイルを揃えようとします-誤って2行が等しい場合、行ごとの視覚的な比較は機能しません。

回答:


28

scrollbindsetでVimを使用します。例えば:

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

ここに画像の説明を入力してください

を使用するとscrollbind、1つのウィンドウでスクロールすると、バインドされている他のウィンドウも同時にスクロールします。行番号を取得するに~/.vimrcは、少なくとも次の2行を含む行で十分です。

set nocompatible
set number

あなたがいないことを必要とするvimrc。このために-それは、コマンドラインから完全に行うことができます。

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

12

Unixの初期のコマンドはどうですか?

pr -m file1 file2

例えば:

pr  -m English Spanish

2016-01-18 00:34                                                  Page 1

this is something                esto es algo
hello, there                     Hola

更新:次を使用して、出力を端末のサイズに合わせることができます。less

pr -m file1 file2 | less

4
提案する場合は、出力をパイプしてless -N、行番号を一緒に表示します。 pr -m file1 file2 | less -N
セルギーKolodyazhnyy

11

GUIから試すことができますmeld

スクリーンショット

それはまさにあなたが求めているものではありませんが、あなたの目的にとって同じくらい有用であるべきです。

テキストの追加セクションは緑色で強調表示され、テキストの異なるセクションは青色で強調表示されます(同様に、テキストの異なるセクションでは追加の文字が濃い青色で強調表示されます)。

同時に3つ以上のファイルでも機能します。


meld、kdiff3、さらにはsdiffも好きです。しかし、2つのファイルを並べて表示したい場合(たとえば、i18​​n翻訳リソースバンドル-プロパティは一致しますが、値は一致しません;欠落しているプロパティを探します)、一致するものを並べようとします異なるラインとマークラインは実際にはマイナスです。
マイケル

@michael_nなぜそれがネガティブになるのか理解するのに途方に暮れています。たぶん私はポイントを失っていますが、使用meldする場合は、行を説明している場合などの場合、明るい青色で強調表示され、特定の追加文字が暗い青色で強調表示され、正確な違いが即座に現れることに気付くはずです。それとも何か不足していますか?
コス

あなたは絶対に正しいです、そして私は明確にすべきでした。問題は、これらのツールはする設定オプションがないということです期待して特定の違いがあることができなければならない(私の知る限り)があることを。場合によっては、ファイル全体があまりにも異なるため、並べる手間さえかかると考えられます。例えば、有用なオプション(私の例では、msg.text = "Hello" vs msg.text = "Bonjour")は、「最初のN文字」またはregexpで2つのファイルの一部を無視することです:「^。* = "
マイケル

実際、sdiffには正規表現で無視するオプションがあると思います(しかし、私は肯定的ではありません)。それでも、それがフランス語と英語からの自由形式のテキストである場合、何も強調表示する必要はなく、行を一致させようとする試みは(前述したように)否定的です。時には、ファイルを並べて見たいだけなのかもしれません(それは、私が理解したように、元の質問の本質です)。
マイケル

@michael_n実際、私は言語の比較に気づきました。何らかの理由で、最初はもっと汎用的なテキスト比較ツールが必要だと思いました。おそらくあなたは正しい、私はこれを削除する必要がありますが、これは一般的にタイトルが付けられた質問が通常検索エンジンから多くの訪問を集めることを考慮していますが(たとえば、GoogleがファイルサイドバイUbuntuの場合結果)。それで、このままでいる方がいいかもしれません。結局のところ、それは痛くないはずです。正確な答えにより、すでにスタックのトップになります。
コス


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.