Maneiras fáceis de ler arquivos grandes no Linux
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 less
comando, 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 less
comando é 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 less
seguido do nome do arquivo:
Este comando abrirá a less
interface, 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 less
para ler saídas de outros comandos usando um operador de pipeline. Por exemplo, para visualizar e exibir a saída do ls
comando, você usaria:
O less
comando também oferece várias opções para personalizar sua funcionalidade. Você pode combinar essas opções para adaptar como less
funciona para atender às suas necessidades.
Por exemplo, você pode usar a -p
opção com less
para pesquisar um termo específico:
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 -N
opção:
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:
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 mc
no terminal. Uma vez dentro, navegue até o arquivo grande que você deseja ler e explore seu conteúdo.
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:
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:
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 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 grep
comando. 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:
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 grep
comando 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 head
e tail
entram em ação.
Para exibir as primeiras 20 linhas de um arquivo, use:
Da mesma forma, para exibir as últimas 20 linhas, execute:
Em ambos os casos, -n 20
especifica 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 tail
e head
pode 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 -f
o 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.
Deixe um comentário