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.
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.
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.
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
Tags command-line cp files