Bash:
Extraindo substrings

Como fazer:

Vamos direto ao código. Suponha que você quer pegar um pedaço da string “Bash é demais!”

# Exemplo 1: Pegando os primeiros 4 caracteres
string="Bash é demais!"
echo ${string:0:4} # Saída: Bash

# Exemplo 2: Ignorando os primeiros 5 caracteres e pegando os próximos 2
echo ${string:5:2} # Saída: é 

# Exemplo 3: Extraindo até o final da string, começando do caracter 10
echo ${string:10} # Saída: mais!

Cada exemplo mostra como pegar partes específicas da sua string. Altere os números para ajustar ao que precisa.

Mergulho Profundo

Antigamente, extrair substrings em shells de Unix era um pouco engenhoso, usando ferramentas como cut, awk ou sed. A partir do Bash 2.0, essa funcionalidade foi embutida. Aqui uma olhada em algumas nuances:

  • Indexação começa do 0: O primeiro caracter é 0, o segundo é 1, e assim por diante.
  • Negativos? Também dá: Pode-se usar índices negativos para começar a contar do final da string (precisa do Bash versão 4.2+).
  • Tamanho é opcional: Se omitir o tamanho, você pega tudo até o final.
  • Alternativas: awk, cut, grep, sed ou até linguagens como Python ou Perl.

Detalhes de implementação:

  • Variáveis e parâmetros: O Bash trata substrings dentro de variáveis usando a sua sintaxe ${variable:start:length}.
  • Eficiência: Extrair substrings diretamente no Bash é geralmente mais rápido já que não invoca processos externos como os comandos awk ou sed.

Veja também

Confira estes links para se aprofundar ainda mais: