Ho qualcosa del genere:
% ls -1dF /tmp/foo/*
/tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/
/tmp/foo/002e34c2218f2c86fefd2876f0e5c2559c5fb3c4/
/tmp/foo/00b483576791bab751e6cb7ee0a7143af43a8069/
.
.
.
/tmp/foo/fedd0f7b545e7ae9600142656756456bc16874d3/
/tmp/foo/ff51ac87609012137cfcb02f36624f81cdc10788/
/tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/
Voglio creare una directory bar
in ciascuna delle sottodirectory in foo
.
Se provo a farlo con
% mkdir -p /tmp/foo/*/bar
... ottengo l'errore
zsh: no matches found: /tmp/foo/*/bar
(Con il senno di poi, posso capire il motivo dell'errore.)
So che posso risolvere il problema originale con un ciclo for, ma sono curioso di sapere se zsh
supporta una qualche forma di espansione dei parametri che produrrebbe l'argomento desiderato per una singola invocazione di mkdir -p
. IOW, un'espansione dei parametri equivalente a "aggiungi /bar
a ogni prefisso generato dall'espansione /tmp/foo/*
", risultante
% mkdir -p /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/bar ... /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/bar