Esta pregunta es una secuela de mi pregunta anterior, Creación de numerosos directorios usandomkdir
.
Estoy usando el bash
caparazón. He creado cincuenta directorios, cada uno comenzando con el prefijo "s", usando el comando:
mkdir $(printf "s%02i " $(seq 1 50))
que rellena el segundo dígito con ceros. Es decir, los directorios que obtengo son de la forma s01
, s02
, ..., s49
, s50
.
Ahora me gustaría usar cp
para copiar un solo archivo (por ejemplo test.txt
) en cada uno de los cincuenta directorios. ¿Es posible hacer esto de una manera análoga a la anterior? Por ejemplo, ¿funcionaría lo siguiente? Soy relativamente nuevo en Unix / Linux, por lo que no quiero probar esto hasta que alguien me indique que es seguro.
cp test.txt $ (printf "s% 02i.txt" $ (seq 1 50))
Sin embargo, al mirar la man
página cp
, no parece que sea cp
compatible con múltiples destinos como este:
NAME
cp - copy files and directories
SYNOPSIS
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options
too.
parallel -j1
, de lo contrario habrá un trabajo por núcleo, y en una máquina multinúcleo los trabajos competirán por IO.