at_shiita.ishigaki
2021年11月2日 9時16分
diffコマンドをオプション無しで実行しても、サブディレクトリの中のファイルは比較されません。
サブディレクトリを比較するには-rオプションを使用します。
※ディレクトリ構成・ファイルの中身は以下のようになります。ここでは例として、file1とfile2を比較します。
root/ ├ file1 │ ├ hoge.txt │ └ fuga │ └ fuga.txt └ file2 ├ hoge.txt └ fuga └ fuga.txt
[armadillo ~]# cat file1/hoge.txt hoge1 hoge2 hoge3 [armadillo ~]# cat file2/hoge.txt hoge1 hoge2 hoge3 [armadillo ~]# cat file1/fuga/fuga.txt fuga1 fuga2 fuga3 [armadillo ~]# cat file2/fuga/fuga.txt fuga1 fuga2
[armadillo ~]# diff file1 file2 Common subdirectories: file1/fuga and file2/fuga diff file1/hoge.txt file2/hoge.txt 4d3 < [armadillo ~]# diff -r file1 file2 diff -r file1/fuga/fuga.txt file2/fuga/fuga.txt 3d2 < fuga3 diff -r file1/hoge.txt file2/hoge.txt 4d3 <
ファイルの中身が同じか違うかのみを調べるには-qオプションを使用します。
[armadillo ~]# diff -rq file1 file2 Files file1/fuga/fuga.txt and file2/fuga/fuga.txt differ Files file1/hoge.txt and file2/hoge.txt differ
また、特定のファイルを比較しない場合は-xオプションを使用します。
※ここでは例として、hoge.txtの比較を除きます。
[armadillo ~]# diff -rx hoge.txt file1 file2 diff -rx hoge.txt file1/fuga/fuga.txt file2/fuga/fuga.txt 3d2 < fuga3