- ベストアンサー
ソースコードの差分がある行番号を出力するには?
ソースコードを修正したときに、変更箇所のイメージではなく、 変更箇所について修正行番号を出力する方法はありませんでしょうか? 例えば以下のようなことです。 修正前ファイル(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ステップ単位で修正したときなどは、修正箇所のピックアップが面倒だなぁと。 何か良い方法やツールありませんでしょうか?
- みんなの回答 (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 うーん。もっといいやり方があるんだろうけどね。簡単な方法が浮かばない。
その他の回答 (2)
- lachesis-r
- ベストアンサー率56% (28/50)
はじめまして。 DFをお使いなら、「比較結果をファイルに保存」して、"L|" などでgrepすれば概ねお望みのものが得られます。 手順が面倒ですが・・・
- tak2003
- ベストアンサー率32% (174/540)
VSSで差分が出ると思います。もしくは、コメントに日付を入れておいてGREPで検索する方法が一般的ですよ。 修正個所は面倒くさがらずにコメント入れるのが前提ですが・・・
補足
VSSは使用していないですが、差分確認ツールは使用してます。また、コメントに日付は入れています。 欲しい情報としては、「グラフィカルにどこを変えたか」ではなく、「●●行目と●●行目に変更があったか」を知りたいと思っています。
お礼
ありがとうございます。 やりたかったことは、まさにこれです。 Diffコマンドに「| sort」というオプションがあったんですね。 助かりました!