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%/*})"' \;
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
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%/*})"' \;