diffコマンド出力のタブサイズを変更する方法はありますか?

diffコマンド出力のタブサイズを変更する方法はありますか?

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 -t8つではなく4つのスペースタブのみを使用するように設定/強制する秘密の方法はありますか?

答え1

違い  (オプション)  <(拡張-t4ファイル1.txt)<(拡張-t4ファイル2.txt)
タブストップが 4 番目の列ごとに設定されていると仮定して、入力ファイルのタブをスペースに展開します。このオプションをdiff' の-tオプションと組み合わせると、望ましい結果が得られます。

関連情報