Excluindo caracteres que correspondem a um padrão

Fish Shell:
Excluindo caracteres que correspondem a um padrão

Como fazer:

# Exemplo: Removendo todos os números de uma string
set string "u5u4r1o!"
echo $string | string replace -ar '[0-9]' ''
# Saída: usuro!

# Exemplo: Deletando espaços em branco no início e no fim da string
set frase "   Olá, Mundo!   "
echo $frase | string trim
# Saída: Olá, Mundo!

# Exemplo: Removendo hífens de um CPF
set cpf "123.456.789-10"
echo $cpf | string replace -ar '[.-]' ''
# Saída: 12345678910

Aprofundamento

Historicamente, a manipulação de strings é uma operação fundamental em programação. Ferramentas como sed, awk e grep no Unix são precursores nesse contexto e ainda são amplamente utilizadas. No Fish Shell, string é um comando embutido que oferece funcionalidades de manipulação de strings poderosas e de alto nível. Utilizar o comando string no Fish é uma forma mais amigável e legível do que suas contrapartes mais antigas que geralmente requerem expressões regulares complexas.

Alternativas ao string incluem o uso de outros comandos Unix mencionados ou linguagens de programação como Python e Perl, onde essas operações podem ser mais verbosas, mas também mais poderosas e flexíveis para scripts mais complexos.

Ao deletar caracteres que correspondem a um padrão, o Fish Shell usa sua sintaxe de expressão regular interna para identificar as peças da string a serem removidas. Importante mencionar que, dependendo da complexidade da manipulação que precisa ser feita, às vezes pode ser necessário encadear múltiplas operações do comando string para alcançar o resultado desejado.

Veja também