diffは、違いが変更(置換など)であるか、追加と削除の組み合わせであるかをどのように決定しますか?

diffは、違いが変更(置換など)であるか、追加と削除の組み合わせであるかをどのように決定しますか?

diff違いが変更(つまり代替)であるか、追加と削除の組み合わせであるかどうかを知ることができます。

私が見つけた最高のものディフチルマニュアルはい

「fct」

最初のファイルの範囲fの行を2番目のファイルの範囲tの行に置き換えます。追加と削除の組み合わせと似ていますが、よりコンパクトです。たとえば、「5,7c8,10」は、ファイル 1 の 5-7 行をファイル 2 の 8-10 行に変更するか、ファイル 2 をファイル 1 に変更すると、ファイル 2 の 8-10 行を変更します意味します。ファイル1の5〜7行に追加します。

たとえば、それぞれ4行の2つのファイルがあります。

$ paste f2 f3
0   1
1   2
3   3
5   6

私はそれらを区別する

$ diff f2 f3
1d0
< 0
2a2
> 2
4c4
< 5
---
> 6

なぜ?

1d0
< 0
2a2
> 2

いいえ

1,2c1,2
< 0
< 1
---
> 1
> 2

代わりに?

私が提供した選択肢と出力には共通の行がdiffありますが3、私の選択肢は共通行の前の別の行をつまりc置換項目として扱いますが、出力はそれをdiff削除と追加の組み合わせとして扱います。

ベストアンサー1

2つのファイル間のLCSでは1 3ありません3。したがって、2つのファイルの間には2つではなく3つのブロックがあります。

おすすめ記事