Digamos que eu tenha duas pastas com vários conteúdos foo
e bar
. Como posso mesclar bar
em foo
de modo que:
- Os arquivos
foo
que nãobar
estão dentro são intocados. - Os arquivos
bar
que nãofoo
estão agora estão dentrofoo
. - Os arquivos
foo
que também estão nobar
foram substituídos pelos arquivos debar
.
unix
shell
file-management
Svish
fonte
fonte
cp -R /path/to/bar /path/to/foo
, criaria um diretóriobar
dentro delefoo
. Ponto sutil.bar
(ou seja, com nomes começando com um ponto -.
) por causa de como o shell globbing funciona.Eu tinha uma necessidade muito semelhante: merge
bar
emfoo
mas os arquivos que estão embar
não deve arquivos correspondentes Substituir nafoo
. Nesse caso:fonte
Tente o seguinte:
$ cp -r
-u
-v /path/to/foo/* /path/to/bar/
Na cópia
man cp
-u, --update, somente quando o arquivo SOURCE é mais recente que o arquivo de destino ou quando o arquivo de destino está ausente
, os diretórios de cópia -R, -r, --recursive copy recursivamente
fonte
man cp
-> -u, --update: copiar apenas quando o arquivo SOURCE é mais recente que o arquivo de destino ou quando o arquivo de destino está faltando