すべてを

▼開く

閉じる▲

圧縮ファイルを比較して差分を取る

○圧縮ファイル「header.c.org.gz」と「header.c.gz」を比較して差分を取る

lsコマンドで比較するファイルを見る
$ ls -l
-rw-r--r--    1 masa     users        5549  6月 21 16:49 header.c.gz
-rw-r--r--    1 masa     users        5416  6月 10 16:51 header.c.org.gz

zdiffコマンドで-cオプション、比較するファイルを指定する
$ zdiff -c header.c.org.gz header.c.gz
*** -   2005-06-23 12:22:10.897956000 +0900
--- /tmp/headerc.gz.muHvsy1575  2005-06-23 12:22:10.000000000 +0900
***************
*** 538,543 ****
--- 538,547 ----
                                /*
                                 * filename
                                 */
+                               if (header_size >= 256) {
+                                 fprintf(stderr, "Possible buffer overflow hack attack, type #1\n");
+                                 exit(109);
+                               }
                                for (i = 0; i < header_size - 3; i++)
                                        hdr->name[i] = (char) get_byte();
                                hdr->name[header_size - 3] = '\0';

zdiffコマンドで-cオプション、比較する圧縮ファイル「header.c.org.gz」と「header.c.gz」を指定すると、圧縮ファイルが自動的に伸張されてdiffコマンドが実行される。zdiffコマンドで指定したオプションはそのままdiffに渡されるので、必要な差分の形式をオプションで指定する。