Suppression impossible : liste d'arguments trop longue

Dernière mise à jour le 3 octobre 2007 à 10:19 par asevere
Publié par Jeff

Suppression impossible : liste d'arguments trop longue

Finalité


Je souhaite supprimer des fichiers (par exemple tous les fichiers d'extension .toto) dans un répertoire mais la commande "rm *.toto" me renvoie :
bash: /bin/rm: Argument list too long
ou
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}'
Meilleures réponses pour « Suppression impossible : liste d'arguments trop longue » dans :
Liste déroulante avec saisie semi automatique pour EXCEL VoirC'est une procédure qui demande un investissement personnel et qui n'est pas nécessairement facile à comprendre et à réaliser dès la première fois. Afin de rendre cette astuce facile à utiliser, nous allons employer les plages et les formules...
Supprimer les contacts de la liste rouge VoirActuellement, le logiciel Windows Live Messenger ne nous permet pas de supprimer un contact de la liste rouge, sans que celui-ci nous ait préalablement supprimé de sa propre liste. En effet, si nous apparaissons toujours dans sa liste de contacts,...
Liste des logiciels officiellement supportés par Vista VoirLogiciels supportés par Windows Vista Tous les logiciels ne sont pas officiellement compatibles avec Windows Vista. Du moins, tous les éditeurs de logiciels n'ont pas effectué ou terminé la démarche pour obtenir le logo officiel Windows...