Excluindo caracteres que correspondem a um padrão

Bash:
Excluindo caracteres que correspondem a um padrão

Como Fazer:

# Remover todos os dígitos de uma string
echo "Ano2023" | tr -d '0-9'
# Saída: Ano

# Deletar todos os caracteres exceto letras minúsculas
echo "Bash_Version_5.1.4" | tr -dc 'a-z\n'
# Saída: ashersion

# Substituir espaços por novas linhas e depois remover linhas vazias
echo "Bash é divertido" | tr ' ' '\n' | sed '/^$/d'
# Saída:
# Bash
# é
# divertido

Aprofundando:

A eliminação de caracteres que correspondem a padrões específicos não é algo novo. No Unix, ferramentas como sed, awk, e tr vêm permitindo isso por décadas. Existem várias formas de fazer:

  • tr: traduz ou deleta caracteres.
  • sed: editor de stream que pode ser usado para remover caracteres usando expressões regulares.
  • awk: linguagem de programação voltada para manipulação de texto.

O tr é geralmente mais rápido, mas é limitado a caractere por caractere. O sed e awk oferecem mais flexibilidade com expressões regulares, podendo tratar padrões mais complexos.

Cada uma dessas ferramentas tem implicações em termos de desempenho e complexidade, e a escolha depende do caso de uso específico e da familiaridade do usuário com a ferramenta.

Veja Também: