Unixでディレクトリを比較の行番号と並べて再帰的に比較するには?

Unixでディレクトリを比較の行番号と並べて再帰的に比較するには?

私のシナリオは、次のコマンドを使用してdiffディレクトリを並べて実行することです。

diff -ry <folder1> <folder2>

diff 出力の行番号。デフォルトでは、行番号は並列比較には表示されず、このパラメータはでのみ--new-line-format使用できません。diff -ydiff -u

私が試したのは[ファイルのみ]です。

diff -y <(cat -n file1) <(cat -n file2)

行番号を生成します。上記のコマンドは最初に行番号を生成し、それをdiffコマンドに渡すため、diff結果の行番号は変更されません。

しかし、いざ使用したときにdiff -ryできることは何もありませんでした。xargsコマンドで同様の[プリプロセッサなど]を使用してcat -nを適用する方法はありますかdiff -ry

ベストアンサー1

インラインdiff -ru 出力を並列プレゼンテーションに変換できます。行番号を含むPythonプログラムcdiffとも呼ばれる色を使用して色を指定します。cdiff.pycdiff(のラッパーと混同しないでくださいcolordiff)、作者:Matthew Wang。

リンクに記載されている提案されたインストール方法に従って、またはcdiff.pyダウンロードしたスクリプトをPATHに抽出してから、次のことができます。

diff -ru dir1 dir2 | cdiff.py -s

おすすめ記事