• ベストアンサー

ソースコードの差分がある行番号を出力するには?

ソースコードを修正したときに、変更箇所のイメージではなく、 変更箇所について修正行番号を出力する方法はありませんでしょうか? 例えば以下のようなことです。   修正前ファイル(file_old.c)     1: aaaaa     2: bbbbb     3: ccccc     4: ddddd     5: eeeee   修正後ファイル(file_old.c)     1: aaaaa     2: bbbbb     3: CCCCC     4: ddddd     5: EEEEE  このときに、変更詳細では無く、「3行目と5行目が変更されている」という情報が欲しいのです。 現在は、DFとかRekisaを使用して、変更箇所をハイライト表示して、 手作業で、「20行目と28行目、50行目が修正されているな」と確認しています。 修正箇所が少ないうちは、そんなに手間じゃないのですが、 100ステップ単位で修正したときなどは、修正箇所のピックアップが面倒だなぁと。 何か良い方法やツールありませんでしょうか?

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

  • ベストアンサー
noname#223623
noname#223623
回答No.3

「グラフィカルでない」というところに思わず反応してしまった。 UNIX系のコマンドだけどdiffコマンドはだめでしょうかねえ。  C:\hoge> diff file_old.c file_new.c  3c3  < ccccc  ---  > CCCCC  5c5  < eeeee  ---  > EEEEE 念のため説明すると「3c3」の'c'は変更された(changed)ことを示す。 cの左はfile_old.cの行番号、右はfile_new.cの行番号です。 行番号だけ表示するというのはちょっと面倒だけど、行番号のところだけまとめるのは簡単にできる。  C:\hoge> diff file_old.c file_new.c | sort  ---  ---  < ccccc  < eeeee  > CCCCC  > EEEEE  3c3  5c5 ファイルに出力すれば編集もできる。  C:\hoge> diff file_old.c file_new.c | sort > hogehoge.txt うーん。もっといいやり方があるんだろうけどね。簡単な方法が浮かばない。

参考URL:
http://www.vector.co.jp/soft/winnt/util/se015010.html
yu5473
質問者

お礼

ありがとうございます。 やりたかったことは、まさにこれです。 Diffコマンドに「| sort」というオプションがあったんですね。 助かりました!

その他の回答 (2)

回答No.2

はじめまして。 DFをお使いなら、「比較結果をファイルに保存」して、"L|" などでgrepすれば概ねお望みのものが得られます。 手順が面倒ですが・・・

  • tak2003
  • ベストアンサー率32% (174/540)
回答No.1

VSSで差分が出ると思います。もしくは、コメントに日付を入れておいてGREPで検索する方法が一般的ですよ。 修正個所は面倒くさがらずにコメント入れるのが前提ですが・・・

yu5473
質問者

補足

VSSは使用していないですが、差分確認ツールは使用してます。また、コメントに日付は入れています。 欲しい情報としては、「グラフィカルにどこを変えたか」ではなく、「●●行目と●●行目に変更があったか」を知りたいと思っています。

関連するQ&A