Comandos para manipulação de arquivos e texto no Linux

A imagem ilustra alguém digitando comandos

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!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *