Solution shell POSIX
La première solution de terdon   repose sur l'expansion des accolades, qui est une propriété de bashet ksh, cependant, elle ne peut pas être utilisée dans le /bin/shshell standard , qui sur Ubuntu est lié à/bin/dash .
Dans les cas où vous devez vous fier /bin/shà la portabilité de vos scripts, il y a généralement deux façons d'aborder cela. On serait via globbing. Juste cd folderAet à partir de là, courez rm a_*. L'autre façon, serait d'implémenter une alternative de style C pour les boucles en utilisant while <CONDITION>;do ...doneen langage shell et de formater les nombres avec printf:
$ sh -c 'i=0;while [ $i -le 750 ]; do filename=$(printf "a_%06d" $i);echo "$filename";i=$((i+1)) ;done'
Notez qu'ici j'utilise echo. Remplacez echo "$filename"par rm ./"$filename"ou rm -- "$filename"lorsque vous êtes prêt à supprimer les fichiers. Notez également que cela doit être effectué lorsque vous avez déjàcd édité dans le répertoire souhaité.
(ab) en utilisant awk
Awk étant un joli langage de type C peut nous aider de deux manières: (1) nous pouvons générer des noms de fichiers avec for-loop et les formater via une sprintffonction, et (2) supprimer lesdits fichiers via une system()commande, qui passera notre nom de fichier généré et la rmcommande à /bin/sh:
awk 'BEGIN{for(i=0;i<=750;i++){filename=sprintf("a_%06d",i);system("rm "filename);} }'
Perl
Poursuivant avec l'idée d'une approche portable où nous "générons" des noms de fichiers, nous pouvons faire de même en Perl:
perl -le 'for(0..750){$fd=sprintf("a_%06d",$_);unlink($fd)}'