Skip to content

Como pesquisar arquivos compactados usando Linux

24 de abril de 2021

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

Linux ps com grep

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”

Arquivo grep do Linux

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

Linux zgrep

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

Linux zipgrep

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

Pesquisa zipgrep do Linux por arquivo

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.