Comando COPIAR [RESOLVIDO]

1. Comando COPIAR [RESOLVIDO]

Geraldo Augusto de Oliveira Quites
geraldoquites

(usa Suse)

Enviado em 03/11/2010 - 14:13h

Tenho uma pasta com vários arquivos de várias extensões diferentes e vários subdiretórios. Qual o comando para copiar esta pasta para um outro caminho sendo que arquivos com a extensão terminados em "i" não poderão ser copiados.
Ex: func.idx (não poderá ser copiado).
banco.i09 (não poderá ser copiado)
e assim sucessivamente.


  


2. MELHOR RESPOSTA

Guilherme Domingues de Oliveira
korvoman

(usa Debian)

Enviado em 03/11/2010 - 15:27h

Neste mesmo exemplo, permite todos arquivos, exceto *.m*" (extensão mp3):

rsync -avz --include "*/" --exclude "*.m*" /home/guilherme/musicas /tmp/teste

na sua situação seria --exclude "*.i*"



3. Re: Comando COPIAR [RESOLVIDO]

Guilherme Domingues de Oliveira
korvoman

(usa Debian)

Enviado em 03/11/2010 - 14:34h

No penúltimo post uma solução parecida:
http://www.vivaolinux.com.br/topico/Shell-Script/Shell-de-Copia


4. Re: Comando COPIAR [RESOLVIDO]

Geraldo Augusto de Oliveira Quites
geraldoquites

(usa Suse)

Enviado em 03/11/2010 - 14:57h

korvoman, veriquei o seu post e pelo que eu entendi ele faz as cópias de uma determinada extensão, por exemplo a MP3 e ignora o restante. No meu caso é o contrário eu tenho que ignorar somente as extensões começadas com com 'i". ok?


5. Re: Comando COPIAR [RESOLVIDO]

Danilo Perillo Chiacchio
danchiacchio

(usa Debian)

Enviado em 03/11/2010 - 16:24h

Boa Tarde Amigo,

No seu caso o comando "rsync" pode resolver. Somente como complemento, o rsync é um grande aliado na hora de fazer backups ou quando é necessário sincronizar duas pastas com um grande volume de arquivos. Ele permite sincronizar o conteúdo de duas pastas, transferindo apenas as modificações. Ele não trabalha apenas comparando arquivo por arquivo, mas também comparando o conteúdo de cada um. Se apenas uma pequena parte do arquivo foi alterada, o rsync transferirá apenas ela, sem copiar novamente todo o arquivo.

No seu caso, a sintaxe completa ficaria:

# rsync -avz --include "*/" --exclude "*.i*" /origem /destino

Caso não tenha o rsync instalado, podera instalar facilmente. Por exemplo (no Debian e derivados):

# apt-get update ; apt-get install rsync

Abraço,
Danilo.


6. Re: Comando COPIAR [RESOLVIDO]

Geraldo Augusto de Oliveira Quites
geraldoquites

(usa Suse)

Enviado em 03/11/2010 - 17:47h

Funcionou perfeitamente conforme a orientação do korvoman e do Danilo. Só fiz uma alteração para ficar mais prático, alterei a expressão '--exclude' paras --exclude-from=NORMEARQUIVO. onde no NOMEARQUIVO eu criei um arquivo contendo todas exclusões. Obrigado pela ajuda.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts