Você poderia usar o rsync (ele também faz cópia local)
rsync -r --ignore-existing --include=*/ --include=*.js --exclude=* source/ destination
-
-r
para recorrer aos diretórios, -
--ignore-existing
para ignorar os arquivos existentes no destino, - os significados dos
include
eexclude
: incluem todos os diretórios, incluem todos os arquivos * .js, excluem o restante; a primeira inclusão é necessária, caso contrário, a exclusão final também excluirá os diretórios antes que o conteúdo seja varrido.
Por fim, você pode adicionar um -P
, se desejar observar o progresso, um --list-only
, se quiser ver o que ele copia sem realmente copiar, e um -t
, se quiser preservar os timestamps. / p>
Isto não está relacionado, mas aprendi o comando rsync recentemente, quando mudei 15 anos de documentos de uma partição para outra. Confiante de que meus arquivos estavam lá, limpei a partição antiga e coloquei outras coisas lá; Percebi depois que perdi todos os timestamps e descobri o flag -t. Só queria compartilhar minha aflição: '(