
No ambiente Linux, existem vários comandos poderosos que permitem manipular, filtrar e modificar arquivos e saídas de comandos. Aqui, vamos explorar alguns dos mais úteis para tarefas comuns, como exibir linhas, buscar palavras e substituir texto.
Filtragem de Linhas e Colunas
1. Exibir as primeiras linhas de um arquivo
Para visualizar as primeiras n linhas de um arquivo ou saída de comando. No exemplo abaixo, mostramos as primeiras 10 linhas:
cat arquivo | head -n 10
O comando head
exibe as linhas iniciais, sendo -n
a flag que define quantas linhas serão exibidas.
2. Exibir as últimas linhas de um arquivo
cat arquivo | tail -n 10
O comando head
exibe as linhas iniciais, sendo -n
a flag que define quantas linhas serão exibidas.
Exemplo prático com dmesg
:
sudo dmesg | tail -n 10
3. Exibir uma linha específica de um arquivo
Para mostrar uma linha exata, como a terceira linha de um arquivo:
cat arquivo | sed -n 3p
O comando sed
filtra e exibe apenas a linha especificada pelo número.
4. Exibir colunas específicas de um arquivo
Para visualizar colunas de uma saída:
cat arquivo | awk '{print $1}'
Você também pode combinar colunas:
free -m | awk '{print $1,$2,$4}'
Busca de palavras em arquivos
1. Ignorar maiúsculas/minúsculas na busca
Use o grep
com a flag -i
para ignorar diferença entre maiúsculas e minúsculas:
grep -i "palavra" arquivo
2. Exibir linhas que não contêm uma palavra
Com grep -v
, você pode excluir as linhas que contêm uma palavra específica:
$ grep -v "palavra" arquivo
3. Buscar linhas que começam com uma palavra
Para encontrar linhas que começam com uma palavra específica:
grep "^palavra" arquivo
Exemplo com o comando top
:
top | grep "^CPU"
4. Buscar linhas que terminam com uma palavra
Para linhas que terminam com uma palavra específica:
grep "palavra$" arquivo
5. Buscar números em um arquivo
Para procurar por números em um arquivo:
grep "[0-9]" arquivo
Substituição de palavras em arquivos
1. Substituir todas as ocorrências de uma palavra
O sed
é uma ferramenta útil para substituir texto. Aqui, substituímos todas as ocorrências de uma palavra:
$ sed -i "s/palavra_antiga/palavra_nova/g" arquivo
A flag -i
indica que a alteração será feita diretamente no arquivo.
2. Substituir em múltiplos arquivos
Para alterar a mesma palavra em vários arquivos dentro de um diretório:
sed -i "s/palavra_antiga/palavra_nova/g" /diretorio/*.txt
Esse comando irá substituir as palavras em todos os arquivos .txt
do diretório.
3. Substituir apenas a primeira ocorrência de uma palavra
Para modificar apenas a primeira vez que uma palavra aparece:
sed "0,/palavra_antiga/s//palavra_nova/" arquivo
4. Substituir em linhas específicas
Para limitar a substituição a linhas específicas:
sed "2,5 s/palavra_antiga/palavra_nova/g" arquivo
5. Substituir um caractere por outro
O comando tr
é útil para substituir caracteres:
tr 'a' 'b' < arquivo.txt
6. Converter letras minúsculas em maiúsculas
tr '[:lower:]' '[:upper:]' < arquivo.txt
7. Converter letras maiúsculas em minúsculas
tr '[:upper:]' '[:lower:]' < arquivo.txt
Edição de linhas e caracteres
1. Adicionar texto em uma linha específica
Para adicionar texto em uma linha específica (no exemplo, na linha 7):
sed -i "7a\Texto novo" arquivo
2. Remover uma linha específica
Remover uma linha que corresponde a um padrão:
sed 'N; /padrão/{N;d;}' arquivo.txt
3. Remover caracteres de um arquivo
Para excluir os primeiros 5 caracteres de cada linha:
cut -c 1-5 arquivo
4. Remover todas as ocorrências de um caractere
Use tr -d
para excluir um caractere específico:
tr -d 'caractere' < arquivo.txt
Contagem de Linhas, Palavras e Caracteres
O comando wc
(word count) é útil para contagem:
- Linhas:
wc -l arquivo
- Palavras:
wc -w arquivo
- Caracteres:
wc -c arquivo
Com esses comandos, você pode realizar uma ampla gama de operações de filtragem e modificação de arquivos e saídas de comandos no Linux. Experimente cada um para ver como eles podem facilitar sua vida no terminal!