- Published on
Filtros de Conteúdo e Manipulação de texto no Linux
- Authors
- Name
- Rodrigo Peixoto
🧰 Filtros de Conteúdo e Manipulação de Texto no Linux
cut
, awk
, wc
, nl
, tr
, sed
, sort
, uniq
, diff
e outros comandos úteis.
Ferramentas essenciais para quem deseja manipular, filtrar e analisar conteúdo textual diretamente no terminal.
cut
— Corta colunas ou campos de texto
✂️ 📌 Uso básico:
cut -d':' -f1 /etc/passwd # Mostra apenas o primeiro campo (usuário)
cut -c1-5 arquivo.txt # Mostra os 5 primeiros caracteres de cada linha
🔧 Opções úteis:
Opção | Significado |
---|---|
-d | Define o delimitador de campo |
-f | Define os campos a serem exibidos |
-c | Define intervalos de caracteres (colunas) |
awk
— Processador de texto poderoso
🧠 Funciona como uma linguagem de programação orientada a linhas e campos.
📌 Uso básico:
awk '{print $1}' arquivo.txt # Imprime a primeira palavra de cada linha
awk -F: '{print $1,$3}' /etc/passwd # Imprime usuário e UID
🔧 Destaques:
$1
,$2
...: campos da linha$0
: linha completa-F
: define delimitador
📌 Exemplo com condição:
awk '$3 > 1000 {print $1}' /etc/passwd # Usuários com UID > 1000
wc
— Word Count (conta linhas, palavras, caracteres)
🧮 📌 Uso básico:
wc arquivo.txt # Conta linhas, palavras e bytes
wc -l arquivo.txt # Conta apenas linhas
wc -w arquivo.txt # Conta palavras
wc -c arquivo.txt # Conta bytes
nl
— Numera as linhas
🔢 nl arquivo.txt
🔧 Opções úteis:
Opção | Significado |
---|---|
-b a | Numera todas as linhas |
-b t | Numera apenas linhas não vazias |
tr
— Transforma ou substitui caracteres
🔁 📌 Uso básico:
tr 'a-z' 'A-Z' < arquivo.txt # Converte para maiúsculas
tr -d '[:digit:]' < arquivo.txt # Remove todos os números
🔧 Opções:
Opção | Significado |
---|---|
-d | Deleta caracteres |
-s | Squeeze (remove repetição) |
sed
— Editor de fluxo (stream editor)
🧹 Usado para substituições, deleções, inserções e transformações em linhas.
📌 Substituição:
sed 's/erro/sucesso/' arquivo.txt # Substitui primeira ocorrência
sed 's/erro/sucesso/g' arquivo.txt # Substitui todas as ocorrências
📌 Remover linha:
sed '/vazio/d' arquivo.txt
📌 Inserir texto:
sed '2i\Linha nova' arquivo.txt # Insere antes da linha 2
sort
— Ordena linhas
🔃 📌 Uso básico:
sort arquivo.txt # Ordem alfabética
sort -r arquivo.txt # Ordem reversa
sort -n numeros.txt # Ordena numericamente
uniq
— Remove linhas duplicadas consecutivas
🧩 Necessário usar com
sort
para eliminar duplicadas totais.
📌 Uso básico:
sort arquivo.txt | uniq # Remove duplicatas
uniq -c arquivo.txt # Conta ocorrências
diff
— Compara arquivos linha a linha
🆚 📌 Uso básico:
diff arquivo1.txt arquivo2.txt
🔧 Saídas úteis:
<
→ presente no arquivo1>
→ presente no arquivo2
📌 Exemplo visual amigável:
diff -y arquivo1.txt arquivo2.txt # Comparação lado a lado
🗃️ Outros Filtros Importantes
head
e tail
— Início e fim do arquivo
📄 head -n 10 arquivo.txt # Mostra as 10 primeiras linhas
tail -n 20 arquivo.txt # Mostra as 20 últimas linhas
xargs
— Constrói argumentos de comandos
🔄 cat arquivos.txt | xargs rm # Remove todos os arquivos listados
paste
— Junta linhas lado a lado
📦 paste col1.txt col2.txt
tee
— Divide saída para tela + arquivo
📑 comando | tee log.txt
🔄 Combinando Filtros (pipeline)
cat arquivo.txt | tr 'A-Z' 'a-z' | sort | uniq -c | sort -nr
Exemplo: normaliza texto, ordena, remove duplicatas e conta ocorrências.