Tengo algo como esto:
% ls -1dF /tmp/foo/*
/tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/
/tmp/foo/002e34c2218f2c86fefd2876f0e5c2559c5fb3c4/
/tmp/foo/00b483576791bab751e6cb7ee0a7143af43a8069/
.
.
.
/tmp/foo/fedd0f7b545e7ae9600142656756456bc16874d3/
/tmp/foo/ff51ac87609012137cfcb02f36624f81cdc10788/
/tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/
Quiero crear un directorio bar
debajo de cada uno de los subdirectorios debajo foo
.
Si trato de hacer esto con
% mkdir -p /tmp/foo/*/bar
... me sale el error
zsh: no matches found: /tmp/foo/*/bar
(En retrospectiva, puedo entender la razón del error).
Sé que puedo resolver el problema original con un bucle for, pero tengo curiosidad por saber si zsh
admite alguna forma de expansión de parámetros que produzca el argumento deseado para una sola invocación de mkdir -p
. IOW, una expansión de parámetro equivalente a "agregar /bar
a cada prefijo generado al expandir /tmp/foo/*
", lo que resulta en
% mkdir -p /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/bar ... /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/bar