他のファイルの内容からファイル名を検索する

他のファイルの内容からファイル名を検索する

フォルダ内にはテキストファイルが多数あります。

フォルダ内の他のファイル名に言及しているファイルがどれなのか知りたい

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

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

関連情報