Como Ler Arquivos Grandes no Linux com Facilidade

Leia Arquivos Grandes no Linux Imagem de Destaque

Quer examinar um arquivo de log massivo, arquivo de texto ou conjunto de dados? Você não está sozinho. Ler arquivos grandes no Linux pode ser desafiador quando você quer visualizar e gerenciar conteúdo sem sobrecarregar os recursos do seu sistema. No entanto, existem várias abordagens que você pode utilizar para ler arquivos grandes no Linux, como usar o comando less, Vim, ou dividir o documento em pedaços menores e outros.

Neste artigo, aprenderemos como ler arquivos grandes ou encontrar informações específicas no Linux usando vários métodos.

Índice

  • Usando o Comando Less
  • Dividir Arquivo Usando o Comando Split
  • Usando o Midnight Commander
  • Usando Klogg
  • Ler Arquivos Grandes Usando Editor de Texto
  • Buscar no Arquivo com o Comando Grep
  • Usando os Comandos Head e Tail

Usando o Comando Less

Procurando uma ferramenta leve do Linux para visualizar o conteúdo de arquivos de texto grandes ou realizar buscas rápidas? Não procure mais, o comando less é a solução.

Eu adoro essa utilidade porque, ao contrário dos editores de texto convencionais, ele permite que você visualize arquivos uma página por vez, sem carregar o arquivo inteiro na memória. Isso torna o processo mais rápido, especialmente para arquivos grandes, e ajuda a revisar longos documentos ou logs com facilidade.

Para usá-lo, basta digitar less seguido do nome do arquivo:

less filename.txt

Isso abrirá a interface do less, onde você pode rolar pelo arquivo linha por linha usando as teclas de seta ou buscar por termos específicos pressionando / seguido da sua consulta.

Você também pode usar o less para ler as saídas de outros comandos usando um operador pipe. Por exemplo, para ler e exibir a saída do comando ls, use:

ls-l|less

Lendo a saída do comando ls na janela do terminal.

Além disso, o comando less possui várias opções para ajustar seu comportamento. Você pode combinar essas opções para personalizar como o less funciona.

Por exemplo, você pode usar a opção -p com less para buscar um padrão específico:

ls-l|less-p"sample"

Encontrando um padrão específico em um arquivo particular no Linux.

Este comando abre a saída e salta para a primeira ocorrência da palavra sample.

Você também pode exibir números de linha ao lado do conteúdo do arquivo usando a opção -N:

ls-l|less-N

Numeração da saída do comando na interface do utilitário less.

Dividir Arquivo Usando o Comando Split

Às vezes, dividir um arquivo grande em pedaços menores é a melhor abordagem – especialmente quando você quer processar ou ler o arquivo em seções gerenciáveis. Por exemplo, eu divido o arquivo em partes sempre que seu tamanho excede 1 GB ou contém mais de 100 milhões de linhas.

Você pode dividir arquivos por tamanho ou por contagem de linhas. Se você está trabalhando com texto, é melhor dividir por linhas para evitar cortar linhas ou palavras pela metade.

Por exemplo, para dividir um arquivo com base em um número especificado de linhas, execute este comando:

split-l10000 samplefile.txt part_

Dividindo arquivos em pedaços menores usando o comando split.

Neste exemplo, o arquivo “samplefile.txt” é dividido em vários arquivos, cada um contendo 10.000 linhas. Os arquivos resultantes serão nomeados “part_aa”, “part_ab”, e assim por diante. Agora, você pode abrir e ler pedaços menores do arquivo sem se preocupar com o uso de memória ou lentidão do sistema.

Se você quiser dividir arquivos grandes com base no tamanho, como 100 MB, pode executar este comando:

split-b 100M samplefile.txt part_

Usando o Midnight Commander

O Midnight Commander (MC) é um gerenciador de arquivos baseado em texto com painel duplo que fornece uma interface visual intuitiva para navegar por diretórios e arquivos.

O MC permite que você visualize arquivos diretamente na interface, permitindo que você role rapidamente por grandes logs ou dados sem carregar o arquivo inteiro na memória. O que eu gosto no MC é a sua maneira suave e eficiente de rolar por grandes arquivos.

Para instalar o MC, basta executar:

sudo apt install mc

Você pode iniciá-lo executando mc no terminal. Uma vez dentro, você pode navegar até o grande arquivo que deseja ler e visualizar seu conteúdo.

Visualizando arquivo grande na ferramenta midnight commander.

Usando Klogg

Klogg é um visualizador de logs rápido e baseado em GUI que pode lidar facilmente com arquivos grandes. Ao contrário de outros editores, que carregam o arquivo inteiro na memória, ele apenas lê partes do arquivo conforme necessário, reduzindo o uso de memória.

O Klogg também oferece recursos de filtragem e pesquisa em tempo real, tornando fácil encontrar o que você está procurando sem excessiva rolagem.

Antes de instalar o Klogg, você precisa primeiro criar o diretório “/etc/apt/keyrings” e adicionar a chave GPG a ele. A chave GPG é necessária para verificar o repositório do pacote Klogg.

Para criar o diretório, execute:

sudomkdir-p/etc/apt/keyrings

Agora, adicione a chave GPG:

curl -sS https://klogg.filimonov.dev/klogg.gpg.key | gpg --dearmor|sudotee/etc/apt/keyrings/klogg.gpg

Em seguida, você precisa adicionar o repositório do Klogg ao seu sistema usando o comando curl:

curl -sS https://klogg.filimonov.dev/deb/klogg.jammy.list |sudotee/etc/apt/sources.list.d/klogg.list

Atualize a lista de pacotes:

sudo apt update

Finalmente, você pode instalar o Klogg com este comando:

sudo apt install klogg

Instalando Klogg no Ubuntu.

Uma vez instalado, simplesmente abra o arquivo pela interface e use seus recursos embutidos para buscar e navegar pelo conteúdo.

Lendo um arquivo grande no Klogg.

Ler Arquivos Grandes Usando Editor de Texto

A maioria dos editores de texto tem dificuldades com arquivos grandes, mas editores como Vim ou Emacs lidam com arquivos grandes melhor do que editores padrão como Nano ou Gedit.

Por exemplo, o Vim possui recursos que permitem que você rapidamente se deslocar pelo arquivo e buscar por termos específicos sem carregar tudo na memória de uma só vez. No entanto, as pesquisas são limitadas às porções já carregadas.

Para abrir um arquivo no Vim, execute:

vim samplefile.txt

Nota: Enquanto o Vim pode gerenciar arquivos grandes de forma mais eficaz, ele ainda não é a ferramenta mais rápida. Para visualizações rápidas, geralmente é mais eficiente usar o comando less ou as ferramentas especializadas mencionadas anteriormente.

Buscar no Arquivo com o Comando Grep

Se seu objetivo é encontrar informações específicas dentro de um arquivo grande, tente usar o comando grep. Ele permite que você busque em arquivos e exiba apenas as linhas que correspondem à sua consulta de busca.

Quando você encadeia a saída de um comando no less, é temporário – uma vez que você fecha o less, a saída desaparece. Se você quiser manter a saída para depois, redirecione-a para um arquivo e abra-o com uma ferramenta de linha de comando como less.

Por exemplo, para imprimir cada linha contendo a palavra “ERROR” de um arquivo grande, execute:

grep"Error" samplefile.txt

Você pode refinar sua busca com opções adicionais, como ignorar a sensibilidade a maiúsculas ( grep -i) ou buscar apenas por palavras inteiras ( grep -w).

Redirecionar saída para um arquivo

Se você quiser salvar informações específicas para depois, pode redirecionar a saída dos seus comandos para um novo arquivo.

Por exemplo, você pode buscar por linhas usando o comando grep e salvá-las em um novo arquivo:

grep"Error" samplefile.txt > errors.log

O operador > cria um novo arquivo ou o sobrescreve a cada vez. No entanto, se você quiser adicionar dados a um arquivo que já está presente, use >> em vez do operador >.

Usando os Comandos Head e Tail

Às vezes, ao trabalhar com arquivos grandes no Linux, você pode precisar apenas visualizar o início ou o final do arquivo. Para fazer isso, você pode usar os comandos head ou tail.

Você pode exibir as primeiras 20 linhas de um arquivo com isto:

head-n20 samplefile.txt

Exibindo as primeiras vinte linhas dos arquivos grandes no Linux.

Da mesma forma, para visualizar as últimas 20 linhas, execute:

tail-n20 samplefile.txt

Em ambos os casos, -n 20 especifica que você deseja ver apenas as primeiras ou últimas 20 linhas. Você pode ajustar esse número para exibir mais ou menos linhas conforme necessário. Por padrão, ambos os comandos exibem 10 linhas.

Você também pode combinar tail e head para navegar por uma seção particular de um arquivo. Por exemplo, para ver as linhas 10-14 de um arquivo de 100 linhas, calcule a linha inicial a partir do final subtraindo a linha inicial menos um do total de linhas (100 – 9 = 91). Em seguida, use este comando:

tail-n91 samplefile.txt |head-n5

Isso exibirá as linhas 10-14. Você pode confirmar a saída comparando-a com o que você veria usando less.

Se você está monitorando um arquivo que está constantemente atualizando, como um arquivo de log, use tail -f para seguir as mudanças em tempo real.

Conclusão

Seja você examinando logs, trabalhando com conjuntos de dados ou visualizando um arquivo de texto grande, esses métodos tornam o processo simples e eficiente. Você também pode aprender como encontrar arquivos grandes no Linux e como transferi-los para outro local no terminal.

Crédito da imagem: Unsplash. Todas as alterações e capturas de tela por Haroon Javed.