Dateien mit Leerzeichen löschen

L

Lenny2Scripts

Grünschnabel
Hallo!

Ich habe folgendes Problem, und konnte bisher leider keine Lösung dazu finden:
Ich möchte in einem Verzeichnis alle Dateien - mit Ausnahme der 3 Neuesten - löschen. Ich hab's duerst hiermit versucht:
Code:
ls -t | sed 1,3d | xargs -J % rm
Allerdings bekomm ich dann Probleme bei Dateien, die Leerzeichen enthalten.
Also hab ich versucht die Leerzeichen zu ersetzen. So:
Code:
ls -t | perl -pe 's,\n,\0,' | sed 1,3d | xargs -J -0 % rm
Jetzt passiert allerdings garnix mehr. Weder löscht er etwas, noch bringt er mir ne Fehlermeldung.
Und so:
Code:
ls -t | sed 's/ //g' | xargs -J -0 % rm
Hier listet er mir dann explizit die Dateien auf, die er nicht löschen kann, was ja auch ganz logisch ist, weil 'rm' ja nicht weiß, dass die Dateien eigentlich anders heißen (eben mit Leerzeichen). Außerdem fehlt mir dann ja noch die Ausnahme der 3 aktuellsten Dateien, wo ich nicht weiß, wie ich die noch reinbringen soll.

Kann mir jemand sagen, wie die richtige Syntax hierfür wäre?
Vielen Dank im Voraus & frohe Ostern,
Lenny
 
Hi,

wie waere es hiermit?
Code:
ls -t | sed 1,3d | while read i; do echo "$i"; done

mfg,
bytepool
 
so schön und so einfach!
Danke dir, funktioniert perfekt!
 

Ähnliche Themen

Bestimmte Dateien aus vielen Unterordnern löschen

Letzten Tag löschen

Last mit etc/passwd anzeigen lassen

ls -al -> l????????? ? ?

Automatisch kompilieren und per sed Source anpassen

Zurück
Oben