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:
Allerdings bekomm ich dann Probleme bei Dateien, die Leerzeichen enthalten.
Also hab ich versucht die Leerzeichen zu ersetzen. So:
Jetzt passiert allerdings garnix mehr. Weder löscht er etwas, noch bringt er mir ne Fehlermeldung.
Und so:
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
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
Also hab ich versucht die Leerzeichen zu ersetzen. So:
Code:
ls -t | perl -pe 's,\n,\0,' | sed 1,3d | xargs -J -0 % rm
Und so:
Code:
ls -t | sed 's/ //g' | xargs -J -0 % rm
Kann mir jemand sagen, wie die richtige Syntax hierfür wäre?
Vielen Dank im Voraus & frohe Ostern,
Lenny