at_shiita.ishigaki
2021年10月13日 9時01分
1バイトずつファイルを比較するにはcmpコマンドを使用します。
※ここでは例として、a.txtとb.txtを比較します。
[armadillo ~]# cat a.txt abcdefg [armadillo ~]# cat b.txt abbcdefgh [armadillo ~]# cmp a.txt b.txt a.txt b.txt differ: byte 3, line 1
違いのある箇所が何バイト目かを表示するには-bオプションを使用します。
[armadillo ~]# cmp -b a.txt b.txt a.txt b.txt differ: byte 3, line 1 is 143 c 142 b
入力ファイルの最初から特定のバイト数の比較を無視する場合は-iオプションを使用します。
※ここでは例として、a.txtは先頭から2バイト、b.txtは先頭から3バイト分比較を無視します。
[armadillo ~]# cmp -i 2:3 a.txt b.txt a.txt b.txt differ: byte 6, line 1
これまでの処理は、1番最初に見つかった違いがある箇所で処理が終了していましたが、ファイルの最後まで比較を行うには、-lオプションを使用します。
[armadillo ~]# cmp -l a.txt b.txt 3 143 142 4 144 143 5 145 144 6 146 145 7 147 146 8 12 147 cmp: EOF on a.txt after byte 8