Como copiar os mesmos arquivos nomeados de um local para outro número de vezes usando o comando linux?

1

Eu tenho a seguinte estrutura de árvore.

sl_top
|       |-- Pinmux_Formal_checklist
|       |   |-- Pinmux_Formal_checklist.config
|       |   |-- Pinmux_Formal_checklist.html
|       |   '-- rev1
|       |       |-- rev1.config
|       |       '-- rev1.html
|       |-- checklist10
|       |   |-- checklist10.config
|       |   |-- checklist10.html
|       |   '-- rev2
|       |       |-- rev2.config
|       |       '-- rev2.html
|       |-- checklist13
|       |   |-- checklist13.config
|       |   |-- checklist13.html
|       |   '-- rev2
|       |       |-- rev2.config
|       |       '-- rev2.html

Aqui, a lista de verificação 13 e a lista de verificação 10 têm o mesmo nome de arquivo e copiam os arquivos .html para Outro local. Como posso salvar as duas cópias usando o comando linux.

Comando que eu tentei?

find . -name '*.html' -exec cp -prv '{}' 'projects/html_files' ';

Saída com objetivo:

rev1.html
rev2.html

Resultado esperado:

rev1.html(Pinmux_Formal_checklist.html)
rev2.html(checklist10)
rev2.html(checklist13)

Nota: No colchete, deve mostrar o nome do diretório respeitado

    
por nasa aneer 29.06.2017 / 11:06

1 resposta

1

Se isso gravar os comandos cp que você espera, remova o echo da linha:

find . -name '*.html' -exec /bin/sh -c 'file="{}"; echo cp -prv "$file" "projects/html_files/${file##*/}(${file%/*})"' \;
    
por 29.06.2017 / 11:32

Tags