ZGREP - Pesquisando arquivos múltiplos e precisos

1

Estou tentando pesquisar vários arquivos compactados em um único diretório. Estou usando o zgrep para pesquisar atualmente por um arquivo individual ou por um caractere curinga. Aqui está o que estou tentando atualmente:

Arquivos: 04112012.z, 04122012.z, 04132012.z, etc etc.

  zgrep <search criteria> 0412* | less 

Existe alguma maneira de pesquisar, apenas 04112012.z e 04122012.z?

Obrigado.

    
por cloyd800 07.05.2012 / 18:25

1 resposta

2

Sim, você pode especificar os nomes de arquivos específicos na linha de comando, separados por um espaço, após todas as opções de comando necessárias terem sido fornecidas, mas antes de enviar os resultados para less no seu caso.

Como exemplo, você pode usar o comando abaixo. A opção -i é usada para que o caso seja ignorado (os resultados de maiúsculas e minúsculas são retornados) e -E é chamado para que as expressões regulares estendidas possam ser usadas:

zgrep -E -i 'gtk|layout' myfile1.gz myfile2.txt.gz myfile3.Z | less

Como você sabe, você pode usar * em vez de um nome de arquivo para selecionar todos os arquivos nessa pasta, para que grep os pesquise. Além disso, você também pode usar as opções --include=regex e --exclude=regex para segmentar determinados grupos de nomes de arquivos, como é explicado neste artigo aqui .

Se você der uma olhada em /bin/zgrep (run cat /bin/zgrep ), na verdade é apenas um script de wrapper, e todas as opções normais de comando grep são válidas quando é invocado. Como se observa no zgrep manpage ,

  

O Zgrep invoca o grep em arquivos compactados ou gzipados. Todas as opções especificadas são passadas diretamente para o grep. Se nenhum arquivo for especificado, a entrada padrão será descompactada, se necessário, e alimentada ao grep. Caso contrário, os arquivos fornecidos serão descompactados, se necessário, e alimentados no grep.

Para mais informações, consulte man zgrep , man grep e o respectivo a> manpages do Ubuntu online .

    
por user76204 22.03.2013 / 19:16