
Este guia mostrará como pesquisar arquivos compactados em um computador Linux para uma string de texto ou uma expressão específica.
Como pesquisar e filtrar resultados usando o comando grep
Um dos comandos mais poderosos do Linux é grep, que significa Global Regular Expressions Print. Você pode usar o grep para pesquisar padrões no conteúdo de um arquivo ou na saída de outro comando. Como exemplo, execute o seguinte comando ps para ver a lista de processos em execução no seu computador: ps -ef
class = “ql-syntax”> Os resultados rolam na tela rapidamente. Se houver um grande número de resultados, a visualização das informações ficará confusa.
Para interromper a rolagem da página, use o comando more para listar uma página de resultados por vez, da seguinte maneira: ps -ef | mais
Embora a saída do comando acima seja melhor do que o anterior, você ainda precisa percorrer os resultados para encontrar o que precisa. O comando grep torna possível filtrar os resultados com base nos critérios que você envia para ele. Por exemplo, para pesquisar todos os processos com o UID definido como raiz, execute o seguinte comando: ps -ef | grep root
O comando grep também funciona com arquivos. Imagine que você tem um arquivo que contém uma lista de títulos de livros e deseja ver se o arquivo contém Chapeuzinho Vermelho. Você pode pesquisar o arquivo da seguinte maneira: grep lista de livros “Chapeuzinho Vermelho”
O comando grep é poderoso e muitas opções úteis podem ser usadas com ele.
Como pesquisar arquivos compactados usando o comando zgrep
Uma ferramenta pouco conhecida, mas muito poderosa, é o zgrep. O comando zgrep permite pesquisar o conteúdo de um arquivo compactado sem extrair o conteúdo primeiro. O comando zgrep pode ser usado em arquivos zip ou arquivos compactados usando o comando gzip. Qual é a diferença? Um arquivo zip pode conter vários arquivos, enquanto um arquivo compactado usando o comando gzip contém apenas o arquivo original. Para pesquisar texto em um arquivo compactado com gzip, digite o seguinte comando: zgrep expression filetosearch
Por exemplo, imagine que a lista de livros foi compactada usando gzip. Você pode pesquisar o texto Chapeuzinho Vermelho no arquivo compactado usando o seguinte comando: zgrep “Chapeuzinho Vermelho” bookslist.gz
Você pode usar qualquer expressão e todas as configurações disponíveis com o comando grep como parte do comando zgrep.
Como pesquisar arquivos compactados usando o comando zipgrep
O comando zipgrep é usado para pesquisar padrões em um arquivo zip. O comando zgrep funciona bem com arquivos compactados usando gzip, mas não funciona tão bem em arquivos compactados usando o utilitário zip. Você pode usar zgrep se o arquivo zip contiver um único arquivo, mas a maioria dos arquivos zip contém mais de um arquivo. Por exemplo, imagine que você tem um arquivo chamado livros com os seguintes títulos:
- Harry Potter ea Câmara Secreta
- Megera Domada
- De ratos e homens
- O Guia do Mochileiro das Galáxias
- Harry Potter e a Ordem da Fênix
Além disso, imagine que você tem um arquivo chamado filmes com os seguintes títulos:
- O Matrix
- Harry Potter ea Câmara Secreta
- Harry Potter e o Cálice de Fogo
- Star Wars: Uma Nova Esperança
Agora, imagine que esses dois arquivos foram compactados usando o formato zip em um arquivo chamado media.zip. Você pode usar o comando zipgrep para localizar padrões nos arquivos dentro do arquivo zip. Por exemplo: nome do arquivo do padrão zipgrep
Para encontrar todas as ocorrências de Harry Potter, use o seguinte comando: zipgrep “Harry Potter” media.zip
O resultado é o seguinte: livros: Harry Potter e a Câmara Secreta
livros: Harry Potter e a Ordem da Fênix
filmes: Harry Potter e a Câmara Secreta
filmes: Harry Potter e o Cálice de Fogo
Como você pode usar qualquer expressão com zipgrep que pode ser usada com grep, isso torna a ferramenta muito poderosa e torna a pesquisa de arquivos zip mais simples do que descompactar, pesquisar e compactar novamente. Se você deseja pesquisar apenas determinados arquivos no arquivo zip, especifique os arquivos a serem pesquisados no arquivo zip como parte do comando, da seguinte maneira: zipgrep “Harry Potter” media.zip movies
O resultado é o seguinte: filmes: Harry Potter e a Câmara Secreta
filmes: Harry Potter e o Cálice de Fogo
Se você deseja pesquisar todos os arquivos, exceto um, use o seguinte comando: zipgrep “Harry Potter” media.zip -x books
Isso produz a mesma saída de antes, pois pesquisa todos os arquivos dentro media.zip exceto para livros.