• ベストアンサー

diff:各行に行番号も入れる方法

失礼します。 diff の side-by-side形式出力時に、各行に行番号を入れたいんですが、その手法がわかりません。どなたかご存知でしょうか? いま、 diff -b -B -y -W78 --suppress-common-lines file1 file2 hoge           | here gere           | gero こんな感じです。これに行番号を挿入し、 20:hoge          | 20:here 21:gere          | 21:gero みたいにできればと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.1

diff 単体では無理だと思います。特に「-y(--side-by-side)」オプション付きでは フォーマット指定ができません。 普通に出力した結果に awk, Perl, Ruby といったスクリプト言語で作った フィルタをかませるのがいいと思います。

no-hdd_no-ip
質問者

お礼

ありがとうございます。おっしゃる通り、perl等の方が柔軟な処理ができそうなので、その方向で考えてみます。 一瞬、cat -n した結果を diff したら、と考えましたが、それをしたら行追加/削除時 diff が行番号を相違点として拾っちゃうので、やっぱボツでした ^^;