Esta pergunta é uma espécie de sequela da minha pergunta anterior, Criando vários diretórios usandomkdir
.
Eu estou usando o bash
shell. 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 cp
para 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 man
página cp
, ela não parece ser cp
compatí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.