Linux/SSH-Befehl zum Löschen aller in der Datei gefundenen Dateipfade

Linux/SSH-Befehl zum Löschen aller in der Datei gefundenen Dateipfade

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 {} \;

verwandte Informationen