他のファイルの内容からファイル名を探す[閉じる]

他のファイルの内容からファイル名を探す[閉じる]

フォルダにテキストファイルがたくさんあります。

上記のフォルダに別のファイル名を含むファイルが何であるかを知りたいです。

例:file1の名前はフォルダ1の他のファイルに記載されていますか?

folder1
├── folder1.1/
│   ├── file1
│   ├── file2
└── folder1.2/
    ├── file3
    └── folder1.2.1/
        └── file4

答え1

findwithを使用basenameしてファイル名を取得し、次を使用してパターンとしてgrepに入力します-f -

find . -type f -exec basename -a -- {} + | grep -Ff - -R .

例:

$ tree
.
├── folder2
│   ├── f1
│   ├── folder2a
│   └── folder2b
│       └── f3
└── folder3
    ├── folder3a
    │   └── f2
    └── folder3b

6 directories, 3 files

$ find . -type f -exec basename -a -- {} + | grep -Ff- -R .
./folder2/folder2b/f3:f2
./folder3/folder3a/f2:f1

関連情報