
Ich habe ein Verzeichnis, das so viele Unterverzeichnisse und Dateien enthält. Ich möchte eine Datei erstellen, die jeden Dateinamen und die Quellverzeichnispfadinformationen enthält
Zum Beispiel:
- Ich habe einen Ordner mit dem Namen sample, der die Unterverzeichnisse sample1 und sample2 enthält
- Ich habe ex1.csv, ex2.csv im Beispiel 1 und ex3.csv, ex4.csv im Verzeichnis Beispiel 2
Ich muss eine Textdatei (oder) CSV-Datei erstellen, die die Informationen auf folgende Weise enthält
Beispiel1.csv,Beispiel/Beispiel1
Beispiel 2.csv,Beispiel/Beispiel1
Beispiel 3.csv,Beispiel/Beispiel2
Es wäre toll, wenn mir jemand beim Erstellen der Skriptdatei unter Unix helfen könnte
Dank im Voraus
Antwort1
Bei einer Struktur wie
$ tree sample
sample
├── sample1
│ ├── ex1.csv
│ └── ex2.csv
└── sample2
├── ex3.csv
└── ex4.csv
2 directories, 4 files
Sie können verwenden
$ find sample -type f -printf '%f,%h\n'
ex2.csv,sample/sample1
ex1.csv,sample/sample1
ex3.csv,sample/sample2
ex4.csv,sample/sample2
man find
Die relevanten -printf
Formatbezeichner sind :
%f File's name with any leading directories removed (only
the last element).
%h Leading directories of file's name (all but the last ele‐
ment). If the file name contains no slashes (since it is
in the current directory) the %h specifier expands to
".".
Wenn Sie die Ergebnisse in einer Datei haben möchten, leiten Sie die Befehlsausgabe einfach mit dem >
Operator um, z. B.
find sample -type f -printf '%f,%h\n' > filelist