Como você pode recursivamente copiar todos os arquivos * .foo em src para direcionar usando cp e / ou encontrar?
Pergunta
cp -v -ur path/to/jsps/ /dest/path/
O comando acima copia todos os arquivos que foram atualizados a partir do diretório de origem para o destino, preservando a estrutura de diretório.
O que eu não consigo entender é como copiar arquivos .someExtention única *. Eu sei que você pode usar algo como:
find -f -name *.jsp -exec some awesome commands {}
Mas eu não sei como fazê-lo (e eu não tenho tempo para ler as páginas de informação em detalhe).
Toda a ajuda é muito apreciada.
Obrigado, LES
Solução
Se você quiser usar find / cp, em seguida, o seguinte deve fazer o truque:
find -f -name *.jsp -exec cp --parents {} /dest/path \;
mas rsync é provavelmente a melhor ferramenta.
Outras dicas
rsync poderia ajudar - você pode dizer que apenas copiar determinados arquivos com uma combinação de incluir e excluir opções, por exemplo,
rsync -a \
--include='*.foo' \
--include='*/' \
--exclude='*' \
path/to/jsps/ /dest/path/
Veja a manual e olhar para a seção intitulada regras de filtragem para mais.