Comment créer des dossiers 00-99 avec une seule commande dans Ubuntu?


17

J'ai besoin de créer des dossiers de 00 à 99 (00, 01, 02, 03, etc ....) dans plusieurs centaines d'endroits. Y a-t-il une commande sur une seule ligne qui me permettra de faire cela?

Réponses:


46

La réponse de mulaz est correcte, mais beaucoup de gens disent que seqc'est mal parce que la plupart des obus vous permettront de faire ce qui suit

mkdir {00..99}

Cependant, dans certaines anciennes versions de bash, ne sont 0-9pas rembourrées, vous devrez donc faire

mkdir 0{0..9} {10..99}

9
+1 Devrait être la réponse acceptée à mon humble avis. Non seulement ce Bash idiomatique, il ne nécessite pas l'utilisation d'un programme externe (ce qui est).
Trollhorn

1
Voilà comment cela doit être fait.
phoxis

7
Cela

17

Ça fera l'affraire?

for i in `seq -w 0 99`; do mkdir $i; done

fait une boucle pour les nombres 0-99, et "-w" définit la largeur égale (0 remplissage pour 0-9)


7
seq -w 0 99 | xargs mkdirferait aussi le travail.
Jay

11
Vous pouvez abandonner la boucle et le faire mkdir $(seq -w 0 99). Ou utilisez des backticks à la place de $(), mais je ne peux pas mettre de backticks à cause de la syntaxe du serveur.
Patrick

@Patrick: Oui, vous pouvez: mkdir `seq -w 0 99` (Je n'ai pas pu éviter l'espace supplémentaire). Voir ici , mais il semble que l'astuce d'inclure des espaces dans les délimiteurs ne fonctionne pas ici.
Keith Thompson

2
Les backticks @Patrick sont mauvais: mywiki.wooledge.org/BashFAQ/082
Andrew

@Andrew oui, je le sais, mais je préfère rester avec le style de codage de tout ce à quoi je réponds.
Patrick

2

Je sais que c'est vieux, mais ma recommandation serait:

pour i in seq -f %02g 0 99; faire mkdir $ i; terminé

le -f% 02g garantit qu'il reste au moins deux caractères, tels que 00 ou 99, et autorise toujours 3 numéros de caractères au-delà de 99, donc si vous en avez 100, il ne deviendra pas 001. Ce sera 00-99 100 au lieu de 001- 100 comme le fait -w.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.