一方のディレクトリに存在し、他方のディレクトリに存在しないファイルの検索
あるディレクトリには存在するが、他のディレクトリには存在しないファイルを見つけようとしているので、このコマンドを使ってみました。
diff -q dir1 dir2
上記のコマンドの問題点は、dir1
にあってdir2
にないファイルと、dir2
にあってdir1
にないファイルの両方を見つけてしまうことです。
私は dir1
にあって dir2
にないファイルだけを見つけようとしています。
以下は、私のデータがどのようなものかの小さなサンプルです。
dir1 dir2 dir3
1.txt 1.txt 1.txt
2.txt 3.txt 3.txt
5.txt 4.txt 5.txt
6.txt 7.txt 8.txt
もうひとつの疑問は、dir1
にあってdir2
やdir3
にはないファイルを、ひとつのコマンドで見つけるにはどうしたらよいかということです。
295
3
説明:。
diff -r dir1 dir2` は、dir1 にのみ存在するファイルと dir2 にのみ存在するファイルを表示し、両ディレクトリに存在するファイルに変更があれば、その変更点も表示します。
diff -r dir1 dir2 | grep dir1` は、dir1にのみ存在するファイルを表示します。
ファイル名だけを表示するには
awk
を使用します。vim'のDirDiffプラグインは、ディレクトリを比較するための非常に便利なツールです。
DirDiff はディレクトリ間でどのファイルが異なるかをリストアップするだけでなく、 vimdiff で異なるファイルを検査/修正することができます。