Maneiras fáceis de ler arquivos grandes no Linux

Maneiras fáceis de ler arquivos grandes no Linux
Ler arquivos grandes no Linux Feature Image

Precisa analisar um arquivo de log enorme, arquivo de texto ou conjunto de dados? Você definitivamente não está sozinho. Lidar com arquivos grandes no Linux pode ser assustador quando você está tentando visualizar ou gerenciar conteúdo enquanto mantém um olho nos recursos do seu sistema. Felizmente, existem vários métodos para ler arquivos grandes no Linux, incluindo utilitários como o lesscomando, Vim, e técnicas para dividir o documento em seções menores.

Este artigo guiará você por diferentes técnicas para ler arquivos grandes ou extrair informações específicas no Linux usando uma variedade de ferramentas.

Usando o comando Less

Procurando uma ferramenta leve para exibir o conteúdo de grandes arquivos de texto ou realizar pesquisas rápidas? O lesscomando é sua solução.

Um dos meus aspectos favoritos deste utilitário é que, diferentemente dos editores de texto padrão, ele permite que você visualize arquivos uma página por vez sem carregar o arquivo inteiro na memória. Isso o torna notavelmente mais rápido, especialmente para arquivos grandes, e simplifica o processo de revisão de documentos ou logs extensos.

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

Este comando abrirá a lessinterface, permitindo que você role pelo documento linha por linha usando as teclas de seta ou pesquise por termos específicos pressionando /seguido pelo seu termo de pesquisa.

Você também pode utilizar lesspara ler saídas de outros comandos usando um operador de pipeline. Por exemplo, para visualizar e exibir a saída do lscomando, você usaria:

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

O lesscomando também oferece várias opções para personalizar sua funcionalidade. Você pode combinar essas opções para adaptar como lessfunciona para atender às suas necessidades.

Por exemplo, você pode usar a -popção com lesspara pesquisar um termo específico:

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

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

Você também pode exibir números de linha junto com o conteúdo do arquivo usando a -Nopção:

Comando de saída de numeração no utilitário de interface less.

Dividindo arquivos usando o comando Split

Às vezes, a melhor maneira de lidar com um arquivo grande é dividi-lo em pedaços menores e mais fáceis de gerenciar – particularmente quando você quer ler ou processar o arquivo em seções. Por exemplo, eu costumo dividir arquivos quando 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. Para arquivos de texto, geralmente é melhor dividi-los por linhas para evitar cortar palavras ou linhas pela metade.

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

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

Neste caso, o arquivo “samplefile.txt” é dividido em várias partes, cada uma consistindo de 10.000 linhas. Os arquivos resultantes serão nomeados “part_aa”, “part_ab” e assim por diante. Agora você pode abrir e examinar segmentos menores do arquivo sem se preocupar com uso excessivo de memória ou desempenho lento do sistema.

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

Usando o Midnight Commander

Midnight Commander (MC) é um gerenciador de arquivos baseado em texto e com dois painéis que oferece uma interface visual amigável para navegar em arquivos e diretórios.

O MC permite que você visualize arquivos diretamente em sua interface, o que permite que você role rapidamente por grandes logs ou conjuntos de dados sem carregar o documento inteiro na memória. Eu aprecio o quão suave e eficientemente o MC permite que você percorra arquivos grandes.

Para instalar o MC, basta executar:

Inicie-o executando mcno terminal. Uma vez dentro, navegue até o arquivo grande que você deseja ler e explore seu conteúdo.

Visualizando arquivo grande na ferramenta Midnight Commander.

Usando Klogg

Klogg é um visualizador de log rápido e de código aberto baseado em GUI que pode processar arquivos grandes de forma eficiente. Diferentemente de editores padrão que carregam o arquivo inteiro na memória, o Klogg lê apenas partes do arquivo conforme necessário, minimizando o uso de memória.

O Klogg também oferece recursos de filtragem e pesquisa em tempo real, facilitando a localização de conteúdo específico sem necessidade de rolagem extensa.

Antes de instalar o Klogg, você precisa criar o diretório “/etc/apt/keyrings” e adicionar a chave GPG a ele. A chave GPG é essencial para validar o repositório de pacotes do Klogg.

Para criar o diretório, execute:

Adicione a chave GPG com o seguinte comando:

Adicionando chave GPG ao diretório /etc/apt/keyrings.

Em seguida, adicione o repositório Klogg ao seu sistema com o comando curl:

Atualize sua lista de pacotes com:

Por fim, você pode instalar o Klogg usando este comando:

Instalando o Klogg no Ubuntu.

Após a instalação, basta abrir o arquivo pela interface do Klogg e utilizar seus recursos integrados para pesquisar e navegar pelo conteúdo do arquivo.

Lendo arquivo grande no Klogg.

Lendo arquivos grandes usando um editor de texto

Enquanto muitos editores de texto têm dificuldades com arquivos grandes, editores como Vim e Emacs gerenciam arquivos maiores de forma mais eficaz do que editores padrão como Nano ou Gedit.

Por exemplo, os recursos do Vim permitem que você navegue pelo arquivo e pesquise termos rapidamente sem carregar todo o conteúdo na memória de uma vez. No entanto, observe que as pesquisas são limitadas a seções do arquivo que já foram carregadas.

Para abrir um arquivo no Vim, execute:

Pesquisando em um arquivo com o comando Grep

Se você estiver procurando encontrar informações específicas dentro de um arquivo grande, use o grepcomando. Esta ferramenta poderosa permite que você pesquise em arquivos e exiba apenas as linhas que correspondem à sua consulta.

Ao canalizar saídas de comando para less, lembre-se de que isso é apenas temporário — a saída é perdida quando você sai de less. Para reter a saída para visualização posterior, redirecione-a para um arquivo e abra-a com uma ferramenta de linha de comando, como less.

Por exemplo, para filtrar cada linha contendo a palavra “ERROR” de um arquivo grande, você executaria:

Pesquisando através do comando grep dentro do arquivo especificado.

Você pode refinar sua pesquisa com opções adicionais, como ignorar a diferenciação entre maiúsculas e minúsculas ( grep -i) ou pesquisar apenas por palavras inteiras ( grep -w).

Redirecionando a saída para um arquivo

Se desejar salvar resultados de pesquisa específicos para revisão posterior, você pode redirecionar a saída dos seus comandos para um novo arquivo.

Por exemplo, procure linhas usando o grepcomando e salve-as em um novo arquivo:

O >operador cria um novo arquivo ou sobrescreve um existente a cada vez. Para anexar dados a um arquivo já existente, use >>em vez de >.

Usando os comandos Head e Tail

Ao trabalhar com arquivos grandes no Linux, você pode precisar visualizar apenas o começo ou o fim de um arquivo. É aqui que os comandos heade tailentram em ação.

Para exibir as primeiras 20 linhas de um arquivo, use:

Exibindo as primeiras vinte linhas dos arquivos grandes no Linux.

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

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

Combinar taile headpode ajudar você a navegar por uma seção específica de um arquivo. Para visualizar as linhas 10-14 de um arquivo de 100 linhas, calcule a linha inicial do final subtraindo a linha inicial menos um da contagem total de linhas (100 – 9 = 91). Execute o seguinte comando:

Isso exibirá as linhas 10-14. Você pode verificar a saída em relação ao que vê com less.

Para atualizar arquivos continuamente, como arquivos de log, você pode usar tail -fo monitoramento de alterações em tempo real.

Conclusão

Quer você esteja analisando logs, trabalhando com conjuntos de dados ou simplesmente lendo um arquivo de texto grande, essas estratégias ajudarão a simplificar o processo significativamente. Você também pode explorar técnicas adicionais para encontrar arquivos grandes no Linux e transferi-los pelo terminal.

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

Fonte

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *