Entendí lo que brace expansion es.
Pero no sé dónde uso eso.¿Cuándo utiliza la expansión de la abrazadera?
¿Cuándo usarlo?
Por favor, dame algunos ejemplos convenientes.
Gracias.
Entendí lo que brace expansion es.
Pero no sé dónde uso eso.¿Cuándo utiliza la expansión de la abrazadera?
¿Cuándo usarlo?
Por favor, dame algunos ejemplos convenientes.
Gracias.
La forma de expresión gama de expansión de llaves se utiliza en lugar de seq
en un bucle for
:
for i in {1..100}
do
something # 100 times
done
por ejemplo, hacer una copia de seguridad de todos sus archivos en un directorio:
for i in * ; do
cp "$i"{,.bak}
done
Se utiliza cada vez que desee encontrar equivalencias en las múltiples opciones. Por ejemplo,
ls src/{Debug,Release}/*.o # List all .o files in the Debug and Release directories.
En bash, se utiliza la expansión de llaves si desea crear un rango, por ejemplo,
for r in {0..100}
for r in {0..10..2}
paso #with de 2
for z in {a..z}
En lugar de utilizar comandos externos tales como seq 0 100
. Además, la expansión de llaves se puede usar para listar tipos de archivos, por ej.
for file in *.{txt,jpg}
.
Lista de todos los archivos que tienen extensiones txt y jpg.
Eso no puede funcionar. –
Lo siento, moví {, .bak} fuera de la parte citada. fue un error tipográfico – Benoit
Ok, eso tiene más sentido. De hecho, hasta ahora no me había dado cuenta de que los componentes de la ruta no necesitan existir. –