zdiffで圧縮したまま差分を見る

6-1.比較・差分


アニメ『ACCA13区監察課』(2017)

少しの異変に気づいて不正を暴く観察課の副課長ジーンの能力が半端ないです。そのジーンが逆に観察されます。ジーンは何者なんでしょうか。

テキストファイルをgzip圧縮したまま差分を確認してみます。

まずは、実験用ファイルの作成から。

takk@deb8:~$ seq 10 >a
takk@deb8:~$ seq 1 2 10 >b
takk@deb8:~$ gzip a b

gzipは元のファイルを削除して、代わりに圧縮ファイルのみ残すので、上記のa bは、a.gzとb.gzというファイル名になります。

lsで確認。

takk@deb8:~$ ls -l *.gz
-rw-r--r-- 1 takk takk 43  1月 31 21:27 a.gz
-rw-r--r-- 1 takk takk 32  1月 31 21:28 b.gz

中身がテキストではないことを確認(b.gzも非テキストになっています)

takk@deb8:~$ od -tx1z a.gz
0000000 1f 8b 08 08 cc 82 90 58 00 03 61 00 33 e4 32 e2  >.......X..a.3.2.<
0000020 32 e6 32 e1 32 e5 32 e3 32 e7 b2 e0 b2 e4 32 34  >2.2.2.2.2.....24<
0000040 e0 02 00 eb bf 8a 13 15 00 00 00                 >...........<
0000053

ではdiffしてみましょう。zdiffを使います。オプションはdiffと同じです。左右比較のため-y -Wを指定します。

takk@deb8:~$ zdiff -y -W20 *.gz
1	1
2     <
3	3
4     <
5	5
6     <
7	7
8     <
9	9
10    <
takk@deb8:~$ 

左が、seq 10、右がseq 1 2 10の結果ですね。正しい比較結果となりました。

コメント

タイトルとURLをコピーしました