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;"
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.
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;"
com bash
e xargs
printf "%s\n" /home/user/dl/{1..60}/111/23/ | xargs -n 1 cp script.sh
Tags cp bash files wildcards shell-script