rm ne fonctionne pas si il y a trop de fichier ???
17 réponses
Eric Belhomme
j'ai un soucis avec la commande rm :
# rm -f ./*
bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande
s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
--
Rico (RicoSpirit) - http://www.ricospirit.net
Pour en savoir autant que moi sur INN (c.a.d. pas grand chose !) :
http://www.ricospirit.net/inn/
c'est juste la ligne d'arguments qui effraie rm, pas le nombre de fichiers. Alors "for i in ./*; do rm -f $i; done", ou alors "cd ..; rm -rf <repertoire>" (s'il n'y a pas de fichiers en .* autres que . et .. dans <repertoire>, et que tu souhaites effacer <repertoire>) feront ce que tu veux faire.
c'est juste la ligne d'arguments qui effraie rm, pas le nombre de
fichiers. Alors "for i in ./*; do rm -f $i; done", ou alors "cd ..; rm
-rf <repertoire>" (s'il n'y a pas de fichiers en .* autres que . et ..
dans <repertoire>, et que tu souhaites effacer <repertoire>) feront ce
que tu veux faire.
c'est juste la ligne d'arguments qui effraie rm, pas le nombre de fichiers. Alors "for i in ./*; do rm -f $i; done", ou alors "cd ..; rm -rf <repertoire>" (s'il n'y a pas de fichiers en .* autres que . et .. dans <repertoire>, et que tu souhaites effacer <repertoire>) feront ce que tu veux faire.
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
La taille pour une ligne de commande est limitée. A 64Ko je crois. Comme le * est remplacé par la liste de tout tes fichiers... Ça dépasse.
un
find . | xargs rm -rf
(dans le bon répertoire) devrait résoudre le problème.
[...]
-- Aurélien DEHAY http://logicielslibres.info
Eric Belhomme <eric.belhomme_NOSPAM_@free.fr.invalid> writes:
j'ai un soucis avec la commande rm :
# rm -f ./*
bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande
s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
La taille pour une ligne de commande est limitée. A 64Ko je
crois. Comme le * est remplacé par la liste de tout tes fichiers... Ça dépasse.
un
find . | xargs rm -rf
(dans le bon répertoire) devrait résoudre le problème.
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
La taille pour une ligne de commande est limitée. A 64Ko je crois. Comme le * est remplacé par la liste de tout tes fichiers... Ça dépasse.
un
find . | xargs rm -rf
(dans le bon répertoire) devrait résoudre le problème.
[...]
-- Aurélien DEHAY http://logicielslibres.info
Bernard Déléchamp
Eric Belhomme wrote:
j'ai un soucis avec la commande rm :
# rm -f ./* bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
echo ./*|xargs rm -f
Maintenant, s'il y a des répertoires là-dedans, ou des fichiers avec des caractères exotiques ou des espaces... A moins, bien sûr que la commande echo n'ait une limitation elle-aussi.
-- Certains déchets nucléaires produits dans les années 60 resteront dangereux pendant un demi million d'années. Pour ceux qui sont produits maintenant, il faudra compter 30 ans de plus. Philippe Geluck
Eric Belhomme wrote:
j'ai un soucis avec la commande rm :
# rm -f ./*
bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande
s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
echo ./*|xargs rm -f
Maintenant, s'il y a des répertoires là-dedans, ou des fichiers avec des
caractères exotiques ou des espaces... A moins, bien sûr que la commande
echo n'ait une limitation elle-aussi.
--
Certains déchets nucléaires produits dans les années 60 resteront
dangereux pendant un demi million d'années. Pour ceux qui sont produits
maintenant, il faudra compter 30 ans de plus.
Philippe Geluck
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
echo ./*|xargs rm -f
Maintenant, s'il y a des répertoires là-dedans, ou des fichiers avec des caractères exotiques ou des espaces... A moins, bien sûr que la commande echo n'ait une limitation elle-aussi.
-- Certains déchets nucléaires produits dans les années 60 resteront dangereux pendant un demi million d'années. Pour ceux qui sont produits maintenant, il faudra compter 30 ans de plus. Philippe Geluck
nicolas
On Mon, 21 Jul 2003 19:05:04 +0200, Eric Belhomme wrote:
j'ai un soucis avec la commande rm :
# rm -f ./*
# rm -f . /* ^ La différence est minime !
bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
Je préfère faire ce genre de manip' osée avec mc, la touche * pour tout sélectionner dans le répertoire en cours puis la touche F8. Ça évite les erreurs de frappe et un disque dur vidé.
nicolas patrois : pts noir asocial -- PEACE
M : La guerre, ça amène la mort, les épidémie, la vermine... la souffrance, la destruction, la peur... P : ...Et les pacifistes !
On Mon, 21 Jul 2003 19:05:04 +0200, Eric Belhomme wrote:
j'ai un soucis avec la commande rm :
# rm -f ./*
# rm -f . /*
^
La différence est minime !
bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la
commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de
fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
Je préfère faire ce genre de manip' osée avec mc, la touche * pour tout
sélectionner dans le répertoire en cours puis la touche F8. Ça évite les
erreurs de frappe et un disque dur vidé.
nicolas patrois : pts noir asocial
--
PEACE
M : La guerre, ça amène la mort, les épidémie, la vermine... la souffrance, la destruction, la peur...
P : ...Et les pacifistes !
On Mon, 21 Jul 2003 19:05:04 +0200, Eric Belhomme wrote:
j'ai un soucis avec la commande rm :
# rm -f ./*
# rm -f . /* ^ La différence est minime !
bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
Je préfère faire ce genre de manip' osée avec mc, la touche * pour tout sélectionner dans le répertoire en cours puis la touche F8. Ça évite les erreurs de frappe et un disque dur vidé.
nicolas patrois : pts noir asocial -- PEACE
M : La guerre, ça amène la mort, les épidémie, la vermine... la souffrance, la destruction, la peur... P : ...Et les pacifistes !
find . -type d -exec rm -rf {} ; est TRES efficace.
"Eric Belhomme" a écrit dans le message de news:
j'ai un soucis avec la commande rm :
# rm -f ./* bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
-- Rico (RicoSpirit) - http://www.ricospirit.net Pour en savoir autant que moi sur INN (c.a.d. pas grand chose !) : http://www.ricospirit.net/inn/
find . -type d -exec rm -rf {} ; est TRES efficace.
"Eric Belhomme" <eric.belhomme_NOSPAM_@free.fr.invalid> a écrit dans le message de news:
Xns93BFC190E295Bericbelhommefreefr@62.4.22.83...
j'ai un soucis avec la commande rm :
# rm -f ./*
bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande
s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
--
Rico (RicoSpirit) - http://www.ricospirit.net
Pour en savoir autant que moi sur INN (c.a.d. pas grand chose !) :
http://www.ricospirit.net/inn/
find . -type d -exec rm -rf {} ; est TRES efficace.
"Eric Belhomme" a écrit dans le message de news:
j'ai un soucis avec la commande rm :
# rm -f ./* bash: /bin/rm: Argument list too long
le repertoire en question contient plus de 12000 fichiers... et la commande s'execute parfaitement lorsqu'il n'y a que quelques dizaines de fichiers...
Quelqu'un a une explication, et un moyen de contourner le pb ?
-- Rico (RicoSpirit) - http://www.ricospirit.net Pour en savoir autant que moi sur INN (c.a.d. pas grand chose !) : http://www.ricospirit.net/inn/
TiChou
Dans l'article news:3f1c4792$0$1319$, hamatum écrivait :
# rm -f ./* bash: /bin/rm: Argument list too long
find . -type d -exec rm -rf {} ; est TRES efficace.
Et completement idiot car ici un simple rm -rf . suffit et cette réponse ne correspond pas à ce qu'il a été demandé au départ.
Et au passage : http://www.giromini.org/usenet-fr/repondre.html
-- TiChou
Dans l'article news:3f1c4792$0$1319$626a54ce@news.free.fr,
hamatum <hamatum@nospam-free.fr> écrivait :
# rm -f ./*
bash: /bin/rm: Argument list too long
find . -type d -exec rm -rf {} ; est TRES efficace.
Et completement idiot car ici un simple rm -rf . suffit et cette réponse ne
correspond pas à ce qu'il a été demandé au départ.
Et au passage : http://www.giromini.org/usenet-fr/repondre.html
Hein ?!? Elle est pas minime du tout : avec sa commande (s'il n'y avait pas trop de fichiers) on efface le contenu du repertoire courant. Avec la tienne on efface le contenu de /
Ca m'etonnerait qu'il veuille faire ca.
-- Christophe Le Gal
# rm -f ./*
# rm -f . /*
^
La différence est minime !
Hein ?!?
Elle est pas minime du tout :
avec sa commande (s'il n'y avait pas trop de fichiers) on efface
le contenu du repertoire courant.
Avec la tienne on efface le contenu de /
Hein ?!? Elle est pas minime du tout : avec sa commande (s'il n'y avait pas trop de fichiers) on efface le contenu du repertoire courant. Avec la tienne on efface le contenu de /
Ca m'etonnerait qu'il veuille faire ca.
-- Christophe Le Gal
Christophe Le Gal
In article <bfhaq2$aum$, Bernard Déléchamp wrote:
echo ./*|xargs rm -f
Maintenant, s'il y a des répertoires là-dedans, ou des fichiers avec des caractères exotiques ou des espaces... A moins, bien sûr que la commande echo n'ait une limitation elle-aussi.
Vu que la limitation est pour tout le monde, je ne vois pas bien ce que ca change. ls | xargs rm -f fera tres bien l'affaire.
-- Christophe Le Gal
In article <bfhaq2$aum$1@mangouin01430.delechamp.fam>, Bernard Déléchamp wrote:
echo ./*|xargs rm -f
Maintenant, s'il y a des répertoires là-dedans, ou des fichiers avec des
caractères exotiques ou des espaces... A moins, bien sûr que la commande
echo n'ait une limitation elle-aussi.
Vu que la limitation est pour tout le monde, je ne vois pas bien ce que
ca change.
ls | xargs rm -f
fera tres bien l'affaire.
Maintenant, s'il y a des répertoires là-dedans, ou des fichiers avec des caractères exotiques ou des espaces... A moins, bien sûr que la commande echo n'ait une limitation elle-aussi.
Vu que la limitation est pour tout le monde, je ne vois pas bien ce que ca change. ls | xargs rm -f fera tres bien l'affaire.