Question Comment faire des dossiers 00-99 avec une seule commande dans Ubuntu?


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


13
2018-06-12 00:07


origine




Réponses:


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

mkdir {00..99}

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

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

42
2018-06-12 00:51



+1 devrait être la réponse acceptée IMHO. Non seulement ce Bash idiomatique, il ne nécessite pas l’utilisation d’un programme externe (qui est seq). - Trollhorn
Voici comment cela devrait être fait. - phoxis
Les éléments suivants fonctionnent également:> mkdir {0..9} {0..9} - Orieg


Ça fera l'affraire?

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

effectue une boucle pour les nombres de 0 à 99, et "-w" définit la même largeur (0 padding pour 0 à 9)


16
2018-06-12 00:12



Eh oui, cela fonctionne parfaitement. Merci!
seq -w 0 99 | xargs mkdir ferait aussi le travail. - Jay
Vous pouvez laisser tomber la boucle et juste faire mkdir $(seq -w 0 99). Ou utilisez des backticks au lieu de $(), mais je ne peux pas mettre des backticks à cause de la syntaxe serverfault. - Patrick
@ Patrick: Oui, vous pouvez: mkdir `seq -w 0 99`  (Je ne pouvais pas é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
Les backticks de Patrick sont mauvais: mywiki.wooledge.org/BashFAQ/082 - Andrew


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

pour je dans 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, tout en autorisant toujours les nombres de 3 caractères après 99. Si vous avez 100, il ne deviendra pas 001. Ce sera 00-99 100 au lieu de 001- 100 comme le -w fait.


2
2017-12-11 14:45