Liste von Dateien löschen
Liste von Dateien löschen
Hallo zusammen,
ich habe in einer Datei irgendwas.txt eine Liste von Dateien drin stehen, die ich löschen möchte. Pro Zeile ist jeweils eine Datei aufgeführt. Wie lautet der rm Aufruf hierzu? Oder muss ich ein Skript bauen? Falls ja, wie könnte es aussehen?
Danke!
Ciao
Homer
ich habe in einer Datei irgendwas.txt eine Liste von Dateien drin stehen, die ich löschen möchte. Pro Zeile ist jeweils eine Datei aufgeführt. Wie lautet der rm Aufruf hierzu? Oder muss ich ein Skript bauen? Falls ja, wie könnte es aussehen?
Danke!
Ciao
Homer
"Sie können auch Ihr Geld aus dem Windows rauswerfen"
Ah ja, gut stimmt. Habs mal so ausprobiert:
Leider ist aber die Datei unter Windows erstellt und nun erscheinen auf der Konsole die Dateinamen (natürlich ohne Backslashes vor Klammern und ähnlichem und auch nicht in Anführungszeichen bei Dateinamen mit Leerzeichen) mit einem nachfolgenenden \r.
Ich habe die Datei mit Kate geöffnet und wieder als Unixfile mit entsprechender Carriage Return Codierung abgespeichert, hat aber nichts geändert. Wie kann es dennoch klappen?
Danke!
Ciao
Homer
Code: Alles auswählen
cat dateiliste.txt|xargs -i -t rm {}
Ich habe die Datei mit Kate geöffnet und wieder als Unixfile mit entsprechender Carriage Return Codierung abgespeichert, hat aber nichts geändert. Wie kann es dennoch klappen?
Danke!
Ciao
Homer
"Sie können auch Ihr Geld aus dem Windows rauswerfen"
Code: Alles auswählen
rm -rf $(cat dateiliste.txt)
Also das Problem mit den Leerzeichen in den Dateinamen kann man umgehen in dem man die IFS Variable auf "newline" setzt:
Das ist aber immer nur ein temporärer Hack, da manch andere Programme das gar nicht mögen...
Code: Alles auswählen
export IFS="
"
Homer hat geschrieben:Leider ist aber die Datei unter Windows erstellt und nun erscheinen auf der Konsole die Dateinamen (natürlich ohne Backslashes vor Klammern und ähnlichem und auch nicht in Anführungszeichen bei Dateinamen mit Leerzeichen) mit einem nachfolgenenden \r.
Code: Alles auswählen
aptitude install tofrodos # oder apt-get
dos2unix Dateiliste
xargs -d\n rm < Dateiliste
Hallo zusammen!
Danke für Eure Tipps!
So hats geklappt:
Danke nochmal an alle!
Ciao
Homer
Danke für Eure Tipps!
So hats geklappt:
Code: Alles auswählen
dos2unix dateiliste.txt
cat dateiliste.txt|xargs -i -t rm {}
Ciao
Homer
"Sie können auch Ihr Geld aus dem Windows rauswerfen"