Un moyen de créer des répertoires plus rapidement.
Je veux créer des répertoires ayant un nom basé sur le même modèle. Par exemple REPERTOIRE.ABC.08
.
Pour créer tous les répertoires de 08 à 14, je peux utiliser une boucle for dans laquelle un compteur s'incrémente dans une string, laquelle est passée à mkdir.
Ou alors je peux utiliser une capacité de la commande mkdir :
mkdir REPERTOIRE.ABC.{08..14}
# Ce qui me donne :
ls -a
REPERTOIRE.ABC.08
REPERTOIRE.ABC.09
REPERTOIRE.ABC.10
REPERTOIRE.ABC.11
REPERTOIRE.ABC.12
REPERTOIRE.ABC.13
REPERTOIRE.ABC.14
Je peux utiliser une suite de lettres :
mkdir REPERTOIRE.{a..f}
# Ce qui me donne :
ls -a
REPERTOIRE.a
REPERTOIRE.b
REPERTOIRE.c
REPERTOIRE.d
REPERTOIRE.e
REPERTOIRE.f
Je peux utiliser plusieurs "suites" dans le même motif. Attention toutefois, car toutes les combinaisons seront créees :
mkdir REPERTOIRE.{a..c}_{0..3}
# Ce qui me donne :
ls -a
REPERTOIRE.a_0
REPERTOIRE.a_1
REPERTOIRE.a_2
REPERTOIRE.a_3
REPERTOIRE.b_0
...
REPERTOIRE.c_3
Le bonus de fin : je peux parcourir une suite de nombres avec un pas supérieur à 1 :
# Pour un pas de 2
mkdir REPERTOIRE.{1..7..2}
# Ce qui me donne :
ls -a
REPERTOIRE.1
REPERTOIRE.3
REPERTOIRE.5
REPERTOIRE.7
Edit : si au lieu d'une suite de caractères je veut utiliser une liste de valeurs prédéfinies je peux utiliser la virgule :
mkdir dossier_{toto,1,007,AZ}
# Ce qui me donne
ls -a
dossier_toto
dossier_1
dossier_007
dossier_AZ
Pour une arborescence, j'utilise aussi l'option -p :
mkdir -p parent{1..4}/enfant{bill,bob,ben}
# Ce qui me donne
tree
.
├── parent1
│ ├── enfantben
│ ├── enfantbill
│ └── enfantbob
├── parent2
│ ├── enfantben
│ ├── enfantbill
│ └── enfantbob
├── parent3
│ ├── enfantben
│ ├── enfantbill
│ └── enfantbob
└── parent4
├── enfantben
├── enfantbill
└── enfantbob