Dateinamen im Inhalt einer anderen Datei finden

Dateinamen im Inhalt einer anderen Datei finden

Der Ordner enthält viele Textdateien.

Ich möchte wissen, welche Dateien diese Erwähnung eines anderen Dateinamens im Ordner enthalten

Beispiel: Wird der Name von Datei1 in einer anderen Datei in Ordner1 erwähnt?

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

Antwort1

Verwenden Sie find„with“ basename, um die Dateinamen abzurufen, und geben Sie sie dann als Muster an grep weiter, indem Sie Folgendes verwenden -f -:

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

Beispiel:

$ 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

verwandte Informationen