Como ler arquivos compactados Gzip na linha de comando do Linux

 Se você trabalha em logs de back-end, deve ter notado que eles são compactados principalmente com a extensão .gz. Isso não é incomum porque a compactação dos arquivos de log economiza muito armazenamento e, portanto, economiza o custo de armazenamento.



Mas, ao contrário dos arquivos de texto regulares, onde você pode usar cat para ver todo o conteúdo do arquivo ou usar o comando grep nele ou usar menos para ler o conteúdo sem inundar sua tela , os arquivos compactados não podem ser usados ​​com os mesmos comandos regulares do Linux.


Não se preocupe, porque quando você tem arquivos compactados com gzip, você também tem os poderosos comandos Z para trabalhar neles.


Esses comandos Z fornecem um equivalente 'Z' dos comandos regulares de manipulação de arquivos.


Assim, você obtém:


zcat para cat para visualizar o arquivo compactado

zgrep para grep pesquisar dentro do arquivo compactado

zless por menos, zmore por mais, para visualizar o arquivo em páginas

zdiff para diff para ver a diferença entre dois arquivos compactados

O melhor de usar esses comandos Z é que você não precisa extrair os arquivos compactados. Funciona diretamente nos arquivos compactados.


Visualizando arquivos compactados com zcat

Se você usa cat, pode substituí-lo por zcat. zcat é usado exatamente da mesma maneira que você usa cat. Por exemplo:


zcat logfile.gz


Isso exibirá todo o conteúdo de logfile.gz sem sequer extraí-lo. Na verdade, ele meio que extrai temporariamente em /tmp, mas isso não é o mesmo que uma extração real, é?


Você pode usar comandos regulares menos e mais com zcat para ver a saída nas páginas:


zcat logfile.gz | less

zcat logfile.gz | more

Se você não sabe se o arquivo está compactado ou não (ou seja, arquivos sem extensão .gz), você pode usar zcat com a opção -f. Isso exibirá o conteúdo do arquivo, independentemente de estar compactado ou não.


zcat -f logfile.gz

Lendo arquivos compactados com zless e zmore

Assim como less and more, você pode usar zless e zmore para ler o conteúdo dos arquivos compactados sem descompactar os arquivos. Todos os atalhos de teclado de menos e mais funcionam da mesma forma.


zless logfile.gz

zmore logfile.gz

Pesquisando dentro de arquivos compactados com zgrep

O Grep é um comando muito poderoso e acho que um dos comandos mais usados ​​do Linux. zgrep é a contraparte Z do grep que permite pesquisar dentro de arquivos compactados com gzip sem extraí-los.


Você pode usá-lo com todas as opções regulares de grep. Por exemplo:


zgrep -i keyword_search logfile.gz

Comparando arquivos compactados com zdiff

Embora isso possa não ser tão útil em arquivos de log grandes, você pode usar zdiff para ver a diferença entre arquivos compactados, da mesma forma que usa o comando diff .


zdiff logfile1.gz logfile2.gz


0 Comentários

Acredite ou não, você pode estar usando um comando Linux obsoleto.

Ou pelo menos tentando usá-lo. Não é realmente sua culpa. Ou você tem o hábito de usar esses comandos ou os aprendeu por meio de tutoriais antigos e obsoletos na web. Isso é especialmente verdadeiro para comandos de rede, já que vários deles foram substituídos ou serão substituídos por comandos mais recentes. Deixe-me listar alguns desses comandos Linux. Você ainda pode encontrar alguns deles em sua distribuição. É possível que sua distribuição ainda os forneça para compatibilidade com versões anteriores, tenha criado uma nova implementação interna ou planeje removê-los em versões mais recentes. Mas é bom conhecê-los como um usuário Linux informado. Vamos lá! scp – potencialmente obsoleto O comando scp, abreviação de secure copy (cópia segura), usa o protocolo SSH para copiar arquivos entre duas máquinas Linux. Seu maior diferencial é que ele segue de perto a sintaxe do comando cp. É por isso que o scp é extremamente popular entre os usuários Linux. Você conhece o comando cp para copia...