スポンサーリンク
diffの-rオプションでディレクトリ間を再帰的に比較
下記のように、diffの-rオプションでディレクトリ間を再帰的に比較できます。
※MACターミナル(BSD系)での動作確認です。
$ diff -r dir01/ dir02/
下記のディレクトリだったとします。
$ tree . ├── dir01 │ ├── 01 │ │ ├── file.ex │ │ └── file.txt │ └── file.txt └── dir02 ├── 01 │ ├── file.ex │ └── file.txt └── file.txt 4 directories, 6 files
下記が実行結果になります。
$ diff -r dir01/ dir02/ diff -r dir01/01/file.ex dir02/01/file.ex 1c1 < --- > exdiff diff -r dir01/01/file.txt dir02/01/file.txt 1c1,2 < --- > line-diff01 > line-diff02 diff -r dir01/file.txt dir02/file.txt 0a1 > diffstring
スポンサーリンク
-xでディレクトリとファイルを除外
-xオプションをつけて、diffが不要なディレクトリやファイルを除外できるのも便利です。
ディレクトリやファイルが多いときには有効です。
参考:diffの-xオプションで特定のファイルを除外して差分をとる
拡張子がexのファイルを除外しています。
$ diff -r -x *\.ex dir01/ dir02/ diff -r -x '*.ex' dir01/01/file.txt dir02/01/file.txt 1c1,2 < --- > line-diff01 > line-diff02 diff -r -x '*.ex' dir01/file.txt dir02/file.txt 0a1 > diffstring
ディレクトリ名が01のディレクトリを除外しています。
$ diff -r -x 01 dir01/ dir02/ diff -r -x 01 dir01/file.txt dir02/file.txt 0a1 > diffstring
スポンサーリンク