Antworten:
Wenn Sie eine Datei pro Zeile haben, können Sie dies folgendermaßen tun:
tr '\n' '\0' < list_of_files_to_be_deleted.txt | xargs -0 -r rm --
Die Dateiliste wird als Eingabe für den trBefehl angegeben, der das Dateitrennzeichen vom Zeilenvorschub in das Nullbyte ändert. Der xargsBefehl liest bei der Eingabe durch Nullbytes getrennte Dateien und startet den Befehl rm mit den als Argumente angehängten Dateien.
rm --statt nur zu verwenden rm, damit Dateinamen, die mit einem Bindestrich beginnen, nicht als rmParameter behandelt werden.
monu.txt' Try tr --help 'für weitere Informationen. rm: fehlender Operand Versuchen Sie `rm --help 'für weitere Informationen. ........ Das ist alles was ich sehen kann
Die obige Antwort ist insofern in Ordnung, als es sehr schwierig ist, Dateinamen mit Leerzeichen und "seltsamen Zeichen" zu behandeln. Aber der einfachste Weg, wenn die Dateinamen vernünftig sind, ist nur (Warnung, Bashismus!):
rm $(< /the/file/with/names)
Für reguläre Shell:
rm `cat /the/file/with/names`