他のディレクトリにないファイルを探す

他のディレクトリにないファイルを探す

dir1に存在するが存在しないすべてのファイルを見つける必要がありますdir2dir1そして、dir2構造が異なるため、diff -r正しく動作しない可能性があります。

ベストアンサー1

パスなしでファイルのリストを作成してみてください。このようにして2つのディレクトリを比較できます。ただし、ファイル名はすべて異なる必要があります。同じファイル名が dir1 の他のサブディレクトリで再利用される場合、パスを削除するとファイル名の一意性が削除されます。次のように、パス名なしで各ディレクトリのリストを取得できます。

find dir1/ -exec basename {} \; | sort
find dir2/ -exec basename {} \; | sort

すべてが合わされると、次のようになります。

diff <(find dir1/ -exec basename {} \; | sort) <(find dir2/ -exec basename {} \; | sort)

fdupesの使用を提案するコメントを見ました。fdupes確かにより良い解決策がある場合。

おすすめ記事