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 .