PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : /bin/rm: Argument list too long



BendAR
15.02.04, 00:12
Hallo,
ich möchte sehr viele Dateien in einem Ordner löschen. Leider geht das mit rm * nicht, es kommt immer der Fehler:


/bin/rm: Argument list too long

Wie kann ich denn sonst die ganzen Dateien löschen? Den Ordner kann ich leider nicht einfach löschen, da auf den Scripts öfters zugreifen und den benutzen.
Vielen Dank im Vorraus!

sirmoloch
15.02.04, 00:30
rm a*
rm b*
rm c*
...;)

Kannst dir natürlich auch ein einfaches Skript bauen, dass das macht...

schnebeck
15.02.04, 00:37
Fürs nächste Mal eine Lektion in Selbsthilfe
==============================

Mit ein wenig Rumgooglen hättest du folgendes gefunden:

The maximum length in bytes for the arguments to a new process defined in /usr/include/linux/limits.h:
#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
If you run into the limit, consider using xargs(1).

Damit hättest du das Zauberwort xargs erhalten. Eine banale Suche nach "rm too long xargs" hätte dich zu folgener Lösung geführt:

find ordner -name '*' -print0 | xargs -0 rm

(auf Löschskripte gebe ich keine Gewähr ;-)

HTH

Thorsten

SeeksTheMoon
15.02.04, 11:35
oder
for FILE in `ls`
do
rm $FILE
done

fsd
15.02.04, 11:58
Warum löschst du nicht einfach den Ordner und legst ihn neu an?

MFG fsd.

peschmae
15.02.04, 12:28
Tja. Wieso einfach, wenns auch kompliziert geht?

MfG Peschmä

BendAR
15.02.04, 12:34
1. Ich hätte ja danach gegoogelt, wäre nicht meine Freundin etwas angetrunken heimgekommen und da durfte ich nicht mehr am Rechner sitzen, also hab ich noch schnell hier gepostet :)
2. Weil der Ordner bestehen bleiben muss, weil viele Scripte alle paar Sekunden dort Dateien ablegen.
3. Vielen Dank, werde es mal ausprobieren, so bekomm ich das ja ohne Probleme hin.

Blackhawk
15.02.04, 13:15
oder auch:
ls | while read line
do
rm $line
done

peschmae
15.02.04, 13:29
Wenn du die Dateien eh alle löschst kannst du doch auch einen symlink nach /dev/null machen. Aber da gibts bestimmt einen Grund. ;)

MfG Peschmä