Creando archivos masivamente con bash

Creando archivos masivamente con bash

He estado tratando de resolver esto, probé diferentes comandos y todavía no he llegado a ninguna parte. ¿Puedes ayudarme con esta pregunta?

En su directorio de inicio, cree un subdirectorio llamado camisetas. Dentro del subdirectorio, cree 108 archivos con nombres de archivo del formato estilo.tamaño.color.ext, donde cada archivo contiene una combinación de valores de la siguiente tabla.

Style   tee, crew, turtleneck
Size    XXL, XL, L, M, S, XS
Color   red, yellow, blue
Extension   info, inv

Este es el último comando que utilicé.

$ touch shirts/{tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}/{info,inv}

Respuesta1

Hay un pequeño error en su comando táctil. Tu comando original,

touch shirts/{tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}/{info,inv}

Al final hay un/que nuevamente intenta crear un directorio y como el directorio no existe, obtendrá un error como,

touch: cannot touch `/shirts/turtleneck.XS.blue/inv': No such file or directory

Sin embargo, dado que solo necesita archivos, debe cambiar su comando original como,

touch shirts/{tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}.{info,inv}

PD: Debe asegurarse de que el directorio shirtsya exista. De lo contrario, volverá a obtener el mismo error cannot touch.

Respuesta2

Según su descripción, el nombre de cada uno de estos 108 archivos debe seguir el formato style.size.color.ext.

Así debería ser

mkdir shirts
touch {tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}.{info,inv}

Lo touchque está haciendo es crear un archivo vacío, pero estás intentando crear un directorio de camisetas con diferentes subdirectorios. touchNo puedo hacer eso.

Editar: También puedes hacer que el touchcmd anterior sea más corto/se vea mejor:

touch {tee,crew,turtleneck}.{{X,XX,}L,M,{X,}S}.{red,yellow,blue}.{info,inv}

información relacionada