No Linux, praticamente tudo é baseado em texto: arquivos de configuração, logs, scripts e até mesmo a saída de comandos do sistema. Por isso, dominar a manipulação eficiente de dados textuais via linha de comando é uma habilidade que acelera significativamente o trabalho e aumenta sua confiança na administração de sistemas e automação de tarefas.
Neste artigo, reunimos comandos amplamente utilizados para analisar, filtrar, comparar e transformar arquivos de texto no Linux. Cada comando vem com explicações e exemplos — salve como um guia de referência rápida!
Visualização de conteúdo de arquivos
cat -n file1
Exibe o conteúdo de um arquivo com a numeração das linhas — útil para depuração e referência.
cat example.txt | awk 'NR%2==1'
Filtra e exibe apenas as linhas ímpares do arquivo — útil para análise de logs ou estruturas alternadas.
Extração de colunas específicas
echo a b c | awk '{print $1,$3}'
Exibe a primeira e a terceira parte da linha (separadas por espaços) — ideal para extrair campos relevantes.
echo a b c | awk '{print $1}'
Mostra apenas o primeiro campo — uma amostra mínima para inspeção.
Comparação de arquivos
comm -3 file1 file2
Mostra as linhas diferentes entre dois arquivos, ignorando as comuns — ótimo para sincronizar configurações.
comm -1 file1 file2
Exibe apenas as linhas exclusivas do file1 — usado para verificar conteúdo removido.
comm -2 file1 file2
Exibe apenas as linhas exclusivas do file2 — útil para identificar adições.
sdiff file1 file2
Compara arquivos linha a linha, lado a lado — fácil para encontrar diferenças pontuais.
Pesquisa em arquivos de texto
grep [0-9] /var/log/messages
Filtra linhas que contêm números — ajuda a localizar IDs, códigos, etc.
grep ^Aug /var/log/messages
Seleciona linhas que começam com "Aug" — ideal para filtrar por data em logs.
grep Aug /var/log/messages
Exibe todas as linhas que contêm "Aug" — busca rápida por palavra-chave.
grep Aug -R /var/log/*
Busca recursivamente por "Aug" em todos os arquivos dentro do diretório — poderosa ferramenta para varredura de logs.
Junção de arquivos por linha
paste -d '+' file1 file2
Combina linhas de dois arquivos usando "+" como separador — cria uma visão consolidada.
paste file1 file2
Combina arquivos lado a lado, linha a linha — útil para comparação de colunas.
Edição de texto com sed
sed 's/string1/string2/g' example.txt
Substitui todas as ocorrências de string1 por string2 — substituição global.
sed '/ *#/d; /^$/d' example.txt
Remove linhas vazias e linhas de comentário (iniciadas por #) — ideal para limpar arquivos de configuração.
sed '/^$/d' example.txt
Remove apenas as linhas vazias — compacta o texto.
sed -e '1d' example.txt
Remove a primeira linha do arquivo — pode ser usado para ignorar cabeçalhos.
sed -n '/string1/p'
Exibe apenas as linhas que contêm string1 — filtro direto por palavra.
sed -e 's/string//g' example.txt
Remove todas as ocorrências de string — limpa palavras-chave ou ruído.
sed -e 's/ *$//' example.txt
Remove espaços em branco ao final das linhas — útil para normalização.
sed -n '5p;5q' example.txt
Exibe apenas a quinta linha do arquivo — extração pontual.
sed -n '2,5p' example.txt
Exibe as linhas da 2ª à 5ª — útil para analisar blocos de texto.
sed -e 's/00*/0/g' example.txt
Substitui sequências de zeros por um único zero — normalização de números.
Ordenação e filtragem de linhas
sort file1 file2
Ordena alfabeticamente ou numericamente o conteúdo combinado de dois arquivos — operação básica de análise.
sort file1 file2 | uniq
Remove duplicatas após ordenar — limpeza de dados repetidos.
sort file1 file2 | uniq -u
Exibe apenas as linhas únicas — detecta entradas que ocorrem uma única vez.
sort file1 file2 | uniq -d
Mostra apenas as linhas repetidas — bom para identificar duplicações.
Conversão de letras para maiúsculas
echo 'word' | tr '[:lower:]' '[:upper:]'
Converte todos os caracteres para maiúsculo — útil para padronização.
Esses comandos podem ser usados individualmente ou combinados para formar pipelines poderosos de processamento de texto. Por exemplo, você pode ler um arquivo, filtrar por palavras-chave, ordenar e remover duplicatas — tudo isso em um único comando no terminal!