1. ホーム
  2. linux

[解決済み】あるディレクトリに存在し、他のディレクトリに存在しないファイルを検索する【クローズド

2022-03-30 21:31:39

質問

私は、あるディレクトリに存在し、他のディレクトリに存在しないファイルを見つけようとしています、私はこのコマンドを使用しようとしました。

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 を1つのコマンドで実行できますか?

どのように解決するのですか?

diff -r dir1 dir2 | grep dir1 | awk '{print $4}' > difference1.txt

説明する。

  • diff -r dir1 dir2 は、dir1 にのみ存在するファイルと dir2 にのみ存在するファイル、さらに両方のディレクトリに存在するファイルの変更点があれば、それを表示します。

  • diff -r dir1 dir2 | grep dir1 は、dir1 にのみ存在するファイルを表示します。

  • awk は、ファイル名のみを表示します。