J'ai quelque chose comme ça:
% ls -1dF /tmp/foo/*
/tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/
/tmp/foo/002e34c2218f2c86fefd2876f0e5c2559c5fb3c4/
/tmp/foo/00b483576791bab751e6cb7ee0a7143af43a8069/
.
.
.
/tmp/foo/fedd0f7b545e7ae9600142656756456bc16874d3/
/tmp/foo/ff51ac87609012137cfcb02f36624f81cdc10788/
/tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/
Je veux créer un répertoire barsous chacun des sous-répertoires sous foo.
Si j'essaye de faire ça avec
% mkdir -p /tmp/foo/*/bar
... je reçois l'erreur
zsh: no matches found: /tmp/foo/*/bar
(Avec le recul, je peux comprendre la raison de l'erreur.)
Je sais que je peux résoudre le problème d'origine avec une boucle for, mais je suis curieux de savoir s'il zshprend en charge une certaine forme d'expansion de paramètres qui produirait l'argument souhaité pour une seule invocation de mkdir -p. IOW, une extension de paramètre équivalente à "ajouter /barà chaque préfixe généré par l'expansion /tmp/foo/*", résultant en
% mkdir -p /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/bar ... /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/bar