Cópia seletiva [RESOLVIDO]

1. Cópia seletiva [RESOLVIDO]

Kelvin
Nivlek

(usa Ubuntu)

Enviado em 15/11/2021 - 10:51h

echo "Olá!"

Possuo uma pasta contendo várias subpastas e um grande número de arquivos. Preciso fazer uma cópia desse diretório, mantendo sua estrutura original, mas ignorando arquivos com base no nome, ou seja, se possuírem algum termo específico, estes não devem ser copiados.

Para exemplificar, preciso ignorar arquivos com "temp" ou "copy", sendo que esses termos podem estar no início ou final do nome:
temp xxxx.png
yyyy temp.odt
copy zzzz.tar.gz

Tentei utilizar o comando a seguir
cp -R !(*temp*) PastaDeDestino/ 
no entanto a regra não foi aplicada aos subdiretórios. Estou disposto à utilizar outras ferramentas CLI (mas sugiram GUI também). Desde já agradeço.


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 15/11/2021 - 19:53h




use o rsync com o parâmetro de exclusão ex.:
rsync -avzr --exclude '*EsseNão*' origem/ destino / 



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------



3. Re: Cópia seletiva

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/11/2021 - 17:45h

Veja o comando find,
Com ele é possível determinar o q não deve ser procurado.


______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



4. Re: Cópia seletiva [RESOLVIDO]

Kelvin
Nivlek

(usa Ubuntu)

Enviado em 15/11/2021 - 20:47h


Grato Mauriciodez,

para finalizar o tópico, o comando a seguir funcionou:
rsync -avzr --exclude={'*temp*','*copy*','*.json'} PastaOrigem/ PastaDestino/ 
conforme o exemplo que eu dei, todos os arquivos que continham "temp" e/ou "copy" no nome foram ignorados das pastas e subpastas; ademais, arquivos com extensão ".json" também foram ignorados. Basta seguir a sintaxe acima, incluindo os termos entre as chaves.

Agradeço à todos!

Quem dera eu descobrisse isso antes, teria facilitado muito meu trabalho






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts