Ich habe eine Datei voller Dateipfade relativ zu ihrem eigenen Pfad:
./Talent/152/Resume/a file name.pdf
./Talent/153/Resume/some file name.pdf
./Talent/154/Resume/yet another file name.pdf
... and so on ...
Welcher Shell-Befehl wäre geeignet, um jede Zeile dieser Datei durchzugehen und zu entfernen?
Antwort1
xargs -d '\n' rm < listoffiles.txt
Antwort2
xargs -I{} --arg-file=file rm "{}"
oder
xargs -I{} -a file rm "{}"
Die Anführungszeichen schützen Dateinamen mit Leerzeichen.
Antwort3
Wenn Sie sich in einer Bash-Shell befinden, können Sie Folgendes tun:
find ./Talent/*/Resume/* -exec rm {} \;
oder wenn Sie Dateien löschen möchten, die älter als 7 Tage sind, können Sie den Parameter -mtime wie folgt hinzufügen:
find ./Talent/*/Resume/* -mtime +7 -exec rm {} \;