Copiando um arquivo para vários diretórios

5

Eu tenho um arquivo que quero copiar para outros 60 diretórios.

A melhor maneira que eu posso pensar em fazer isso é fazendo um script bash que tem instruções para todas as pastas como esta:

cp script.sh /home/user/dl/*/111/23
cp script.sh /home/user/dl/*/111/23
cp script.sh /home/user/dl/*/111/23
and so on...

O * é um número que começa em 1 e termina em 60

Tem que haver uma maneira melhor do que isso.

    
por Dominique 03.05.2014 / 01:22

2 respostas

8

for((i=1;i<61;i++)); do
  cp -p script.sh /home/user/dl/${i}/111/23
done

Ou mais divertido:

eval "cp script.sh /home/user/dl/"{1..60}"/111/23;"
    
por 03.05.2014 / 01:26
5

com bash e xargs

printf "%s\n" /home/user/dl/{1..60}/111/23/ | xargs -n 1 cp script.sh 
    
por 03.05.2014 / 01:31