Ein Beispiel.
Ich habe das jetzt mal in Downloads gemacht:
Folgende Ordner-/Dateistruktur in tree_top:
a bis g sind Verzeichnisse, 1 bis 7 Dateien in diesen Verzeichnissen. Die Datei test.txt enthält die Dateienamen, welche gelöscht werden sollen (am Ende muss eine leere Zeile vorhanden sein, sonst wird der letzte Name nicht gelesen):
Zum Suchen und löschen dieser Dateien unterhalb von tree_top:
Das führt zu:
Show Plain Text
- $ pwd
- /Users/schnaks/Downloads
- $ ls -1p
- ...
- test.txt
- tree_top/
- ...
Folgende Ordner-/Dateistruktur in tree_top:
Show Plain Text
- $ ls tree_top/*
- tree_top/a:
- 1
- tree_top/b:
- 2
- tree_top/c:
- 3
- tree_top/d:
- 4
- tree_top/e:
- 5
- tree_top/f:
- 6
- tree_top/g:
- 7
a bis g sind Verzeichnisse, 1 bis 7 Dateien in diesen Verzeichnissen. Die Datei test.txt enthält die Dateienamen, welche gelöscht werden sollen (am Ende muss eine leere Zeile vorhanden sein, sonst wird der letzte Name nicht gelesen):
Show Plain Text
- $ cat test.txt
- 1
- 3
- 4
Zum Suchen und löschen dieser Dateien unterhalb von tree_top:
Show Plain Text
- $ while read fn; do
- > find tree_top -name "${fn}" -type f -delete
- > done < test.txt
Das führt zu:
Show Plain Text
- $ ls tree_top/*
- tree_top/a:
- tree_top/b:
- 2
- tree_top/c:
- tree_top/d:
- tree_top/e:
- 5
- tree_top/f:
- 6
- tree_top/g:
- 7