Suppression impossible : liste d'arguments trop longue
Suppression impossible : liste d'arguments trop longue
Finalité

bash: /bin/rm: Argument list too longou
bash: /bin/rm: Liste d'arguments trop longue
Causes
Ceci est dû à une limitation de la commande rm, qui ne permet pas de gérer un grand nombre d'arguments (le joker '*' est développé par le shell en une série d'arguments).
Solutions
Commande xargs
La solution consiste à envoyer successivement chaque argument à rm à l'aide de la commande xargs, selon une des façons suivantes :
ls *.toto | xargs rm find . -type f -name \*.toto | xargs rm
Commande find
Une seconde solution consiste à utiliser la commande find et le paramètre -exec :
find . -name "*.toto" -exec rm {} \;
Boucle for (bash)
Une autre alternative consiste à exécuter une boucle en script shell :
for i in `seq 0-9`a b c d e f g h i j k l m n o p q r s t u v w x y z ; do rm $i*.toto ; done
Programme Perl
encore une solution avec perl
perl -e 'for(</home/lami20j/*.toto>){unlink}'
Ce document intitulé « Suppression impossible : liste d'arguments trop longue » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.