Como posso duplicar um arquivo x vezes em um diretório diferente com o terminal?

6

Estou tentando duplicar um arquivo de imagem para uma pasta diferente x vezes (100 vezes). Como posso fazer isso no terminal?

Consegui duplicar na mesma pasta, mas preciso duplicar em outra pasta.

Até agora, eu tentei isso:

i=10; while((i++ < 100)); do cp index "index$i"; done

Por favor, ajude.

    
por Dio Pratama 21.12.2016 / 08:02

2 respostas

6

Basta preceder o nome do diretório antes do (s) nome (s) do (s) nome (s):

i=0; while ((i++ < 100)); do cp index /destination/directory/"index$i"; done

Substitua /destination/directory pelo nome real do diretório.

    
por heemayl 21.12.2016 / 08:06
4

Isso pressupõe que o arquivo que você deseja copiar esteja no diretório de trabalho atual.
Substitua /path/to/destination pelo caminho do diretório real, conforme necessário.
index deve ser substituído pelo nome real, se necessário:

for i in {1..100}; do echo cp -v -- index /path/to/destination/"index-$i"; done

Remova echo após o teste e repita o comando para copiar os arquivos

Seria melhor fazer os números de largura fixa para facilitar a classificação, ou seja, 001.002 ... 010 etc, então você poderia usar printf :

for i in {1..100}; do printf -v new "index-%03d" "$i"; echo cp -v -- "index" /path/to/destination/"$new"; done

ou mais de forma legível

for i in {1..100}; do
  printf -v new "index-%03d" "$i"
  echo cp -v -- "index" /path/to/destination/"$new"
done
    
por Zanna 21.12.2016 / 08:08