Esta pergunta é uma espécie de sequela da minha pergunta anterior, Criando vários diretórios usandomkdir .
Eu estou usando o bashshell. Eu criei cinquenta diretórios, cada um começando com o prefixo "s", usando o comando:
mkdir $(printf "s%02i " $(seq 1 50))
que preenche o segundo dígito com zeros. Ou seja, os diretórios que eu obter são da forma s01, s02, ..., s49, s50.
Agora eu gostaria de usar cppara copiar um único arquivo (por exemplo test.txt) para cada um dos cinquenta diretórios. É possível fazer isso de maneira análoga à descrita acima? Por exemplo, o seguinte funcionaria? Eu sou relativamente novo no Unix / Linux, então não quero tentar isso até que alguém por favor me dê uma indicação de que é seguro.
cp test.txt $ (printf "s% 02i.txt" $ (seq 1 50))
Olhando para a manpágina cp, ela não parece ser cpcompatível com vários destinos como este, no entanto:
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, caso contrário, haverá um trabalho por núcleo e, em uma máquina multicore, os trabalhos competirão por E / S.