4

テキスト ファイルとその更新されたバージョンがあります。diff コマンドを使用して、2 つのテキスト ファイルの行番号の違いを見つける必要があります。行番号間のマッピングを直接取得する方法はありますか。現在、私はこのコード diff -ab file1 file2 を使用しており、これは私を出力します

15a16
> 
27c28,30
< parameter [3:0] state12=4'b 1011;
---
> parameter [3:0] state12=4'b 1011;
> parameter [3:0] state13=4'b 1100;
> parameter [3:0] state14=4'b 1101;
55c58,59
<           next_state = state02;

however i would like something on these lines
1,1
2,3
3,4
4,6

ここで、最初の数字はfile1の行番号で、2番目の数字はfile2の対応する行番号です。それ以外の場合、a、cdの使用をデコードするには、Pythonでスクリプトを作成する必要があります よろしくお願いします

4

1 に答える 1

0

これを行うには、単にコードが挿入/削除されただけでなく、コードが移動したことを認識できる差分ツールが必要です。

当社のツールのSmart Differencerファミリーはこれを行うことができます。SmartDifferencers は、実際のパーサーを使用してコード テキストを解析し、フレーズが移動/コピー/変更された場所を照合します。出力は、コードが削除、移動、コピーなどされたかどうか、何らかの形で変更された元のコード ブロックごとに、行番号と列番号まで正確に識別します。はい、そのためのものがあります)。

SmartDifferencer の出力を探している形式に変換するスクリプトが必要です。

于 2012-07-15T22:52:09.563 に答える