Am Montag, 14. Februar 2005 11:00 schrieb Jan Ritzerfeld:
Sowas macht man besser mit find und xargs, wenn nämlich Leerzeichen in den Dateinamen vorkommen, wirst du mit deiner Schleife Probleme bekommen. Ok, da hast du recht. Wenn Leerzeichen vorkommen können halt mit
#!/bin/bash for i in /foo/*.cda; do rm "$i" done
Ungetestet, zum Testen rm durch echo ersetzen: find $HOME -maxdepth 1 -name "*.cda" -print0 | xargs -0 rm Hier scheinen wieder alle Dateien als ein Argument an rm Übergeben zu werden, da würde auch ein rm ~/*.cda reichen, das geht (gerade getestet) hier auch mit Leerzeichen.
Wie gesagt, der einzige Vorteil den mein Skript hat ist, dass rm nicht über die maximale Kommandozeilenlänge stolpern kann, ansonsten ist es sinnlos und unnötig kompliziert. grüße, Andreas