OSXでは、diff
次のコマンドを実行してパラレル出力を生成します。
$] diff -Bbwy --width=200 --suppress-common-lines file1.txt file2.txt > diff-output.txt
私の違いはうまく出力されていますが、タブを使用して出力をインデントします(並列の並べ替えなど)。さらに、関連ファイルはタブを使用してインデントされるため、diff出力にはそのファイルがすべて含まれます。
私が望む出力にはdiff
スペース、特にタブの代わりに4つのスペースがあります。
diff
このタスクをサポートするオプションがあることを知っていますが、-t
問題はすべてのタブに固定サイズの8つのスペースを使用することです(元のファイルのインデント先行タブだけでなく、中心線の整列を維持するために整列されたタブも含まれています。 )。など。 )。
出力からタブ(またはスペース)を取得し、必要なサイズの4つのスペースに減らすためにさまざまな後処理方法を試しましたが、これは常に並べてdiff
出力を正しく整列させませんでした。diff
diff
その後、比較する前に、編集中または使用中の2つのファイルを前処理するか、各ファイルの行のインデントをtab2space
タブから4つのスペースに変更する同様の方法を使用できると思いました。しかし、前処理された2つの入力をdiff
。
私はできますか?
それとも私が試していない他の方法がありますか?diff -t
8つではなく4つのスペースタブのみを使用するように設定/強制する秘密の方法はありますか?
答え1
違い (オプション) <(拡張-t4ファイル1.txt)<(拡張-t4ファイル2.txt)タブストップが 4 番目の列ごとに設定されていると仮定して、入力ファイルのタブをスペースに展開します。このオプションを
diff
' の-t
オプションと組み合わせると、望ましい結果が得られます。