duplica um único arquivo para uma lista de arquivos

2

Gostaria de saber se é possível duplicar um único arquivo para vários arquivos com uma lista diferente de argumentos. Eu tenho uma imagem genérica e preciso fazer várias cópias dela adicionando uma extensão de país diferente a cada cópia.

Eu tentei de maneira otimista:

cp -r centre-stage-synopsis.jpg centre-stage-synopsis-{en_US,fr_FR,de_DE,da_DK,ru_RU,pt_BR,ro_RO,hu_HU,el_GR,it_IT}.jpg

Mas isso não funciona. Existe uma maneira de fazer isso de uma só vez?

Felicidades

    
por Yannick Schall 26.07.2012 / 19:35

2 respostas

7

Não tenho certeza se zsh permite isso, então sinta-se à vontade para me dar um tapa se a sintaxe for significativamente diferente e você não conseguir descobrir como traduzir isso.

Vou postar um fragmento de código que deve fazer o que você quer das conchas sh , dash ou bash (basicamente qualquer coisa da família Bourne).

for i in en_US fr_FR de_DE da_DK ru_RU pt_BR ro_RO hu_HU el_GR it_IT; do cp -r centre-stage-synopsis.jpg centre-stage-synopsis-$i.jpg; done

Boa sorte, e como eu disse, me bata se zsh não gostar. :)

    
por 26.07.2012 / 19:46
4

Se você tem multios e brace_expand habilitado (eles devem estar ativados por padrão), você pode fazer isso com cat :

cat centre-stage-synopsis.jpg \
  >centre-stage-{en_US,fr_FR,de_DE,da_DK,ru_RU,pt_BR,ro_RO,hu_HU,el_GR,it_IT}.jpg
    
por 26.07.2012 / 19:54