Procurar arquivos com extensão diferente de .gz [RESOLVIDO]

1. Procurar arquivos com extensão diferente de .gz [RESOLVIDO]

Vinicius Campos Maia
vinaomaia

(usa Red Hat)

Enviado em 11/03/2015 - 14:36h

Pessoal, estou criando um script para compactar meus logs. Diariamente rodo um script que move os logs antigos para um diretório history e após movê-los, preciso compactá-los.

Meu problema é que a palavra "log" fica no meio do nome do arquivo (ex: aplicacao.log.2015-03-08-00_00_00).

Realizando um find /logs/history -type f -name "*.log.*" o gzip tenta compactar os arquivos já compactados anteriormente.

Eu gostaria de fazer um find que me listasse todos os arquivos DIFERENTE de *.gz


  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 11/03/2015 - 20:52h

Uma boa prática é não misturar no mesmo lugar coisas distintas. Uma sugestão (que eu não sei se se aplica ao seu caso, até porque você não entrou em detalhes) é você deixar todos os arquivos comprimidos num lugar separado, se isso fizer sentido.

Dito isso, é interessante saber que o find permite fazer expressões lógicas de razoável complexidade, através de argumentos como -a (e lógico), -o (ou lógico) e ! (negação lógica -- sendo que talvez você precise de algum cuidado ao usar o ponto de exclamação, que pode ter sentido especial para o shell). Um exemplo simples seria o seguinte.

find /some/directory -iname \*.log.\* -a \! -iname \*.gz 


3. Re: Procurar arquivos com extensão diferente de .gz [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 12/03/2015 - 22:19h

Esqueci de mencionar que é também possível -- e às vezes necessário -- agrupar não apenas expressões lógicas, mas também ações a serem tomadas, usando parênteses.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts