Comme les man mkdir
États
-p, --parents
no error if existing, make parent directories as needed
Quand j'ai exécuté cette commande
mkdir -p work/{F1,F2,F3}/{temp1,temp2}
Il crée une structure de dossiers comme celui - ci work
dossier parent puis F1
, F2
, F3
dossiers enfants et temp1
et des temp2
dossiers d'enfants de moins de trois dossier parent F1
, F2
, F3
.
work
-F1
-temp1
-temp2
-F2
-temp1
-temp2
-F3
-temp1
-temp2
Maintenant , le problème est que je veux créer temp1
, temp2
dossiers uniquement sous F1
pas sous F2
et F3
, mais je suis confus sur la façon dont je peux écrire une commande pour faire ce que je veux.
shell
brace-expansion
mr_eclair
la source
la source
Réponses:
C'est peut-être ce que vous cherchez?
la source
Une très bonne description de l'expansion de l'accolade (avec des exemples) peut être trouvée dans la sous
Brace Expansion
- section du manuel bash (man bash
, appuyez sur/
pour lancer la recherche et rechercherBrace Expansion
).la source
[me@linuxbox me]$ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back
"Cela crée d'abord
work
et les trois sous-répertoires avant de créer les répertoires de niveau inférieur dework/F1
. C'est facile à lire et à comprendre.Ou, si vous devez absolument tout combiner en une seule expression de monstre (il n'y a absolument pas besoin de le faire car il est difficile à lire et à maintenir):
la source