まず、1.txt を次のように作る。
1:Jan
2:Feb
3:Mar
4:Apr
5:May
6:
7:Jun
8:
9:Jul
10:Aug
11:Sep
12:Oct
13:Nov
14:Dec
数字とコロンは行番号を示すためのもので、ファイルには実際に書き込まれていない。もう1つ 2.txt として
1:Jan
2:Feb
3:Mar
4:4
5:four
6:May
7:6
8:six
9:sex
10:
11:Jun
12:
13Jul
14:Aug
15:Sep
16:Oct
17:Nov
18:Dec
この2つのファイルを diff に渡して
diff 1.txt 2.txt
とすると、その出力は、
4c4,5
< Apr
---
> 4
> four
5a7,9
> 6
> six
> sex
となる。これはどういう意味かというと、1つめのファイルの4行目を change して2つ目のファイルの4行目から5行目にする。さらに1つ目のファイルの5行目の直ぐ下に2つ目のファイルの7行目から9行目を Add する。こうすると1つ目のファイルが2つ目のファイルと等しくなる、ということだ。
< で始まる行が1つ目のファイルの対応行であり、> で始まる行が2つ目のファイルの対応行だ。Add の場合は、1つ目のファイルの対応行は示されていないが、これはとくに必要ないからだ。
diff に渡すファイルの順序を入れ替えて
diff 2.txt 1.txt
とすると、さっきの出力と論理的に反対の結果が得られる。
4,5c4
< 4
< four
---
> Apr
7,9d5
< 6
< six
< sex
7,9d5 というのは、先ほどの 5a7,9 とちょうど逆の操作なのだが、うまく文章にできない。要するに7行目から9行目を Delete しろということだ。
No comments:
Post a Comment