Neste artigo, exploraremos a manipulação de strings em scripts Bash, um tópico fundamental em programação. Em ciência da computação, uma “string” é um conjunto de caracteres armazenados em uma variável. Em muitos casos, é necessário manipular strings de várias maneiras para processar seu conteúdo. Neste artigo, explicarei como você pode determinar o comprimento de uma string, extrair partes de uma string e substituir partes dela por outros valores.
No Bash, você pode obter o conteúdo de uma variável usando a seguinte sintaxe, além da forma mais comum de referência de variáveis:
Nesse caso, o nome da variável é colocado entre chaves. Essa sintaxe é comumente usada quando você deseja manipular a string de alguma forma.
Em muitos cenários, é necessário saber quantos caracteres uma string contém, ou seja, seu comprimento. Isso pode ser útil para comparar variáveis, verificar se o resultado de um processo está correto ou em outras situações semelhantes. Para contar o número de caracteres em uma string no Bash, você pode usar a seguinte sintaxe:
Nesse caso, o caractere “#” precede o nome da variável, permitindo que você obtenha o número de caracteres em vez do conteúdo da string.
No script a seguir, demonstro o uso desse conceito:
Ao executar o script, obtemos a seguinte saída:
Às vezes, você precisa extrair uma parte específica de uma string em seus scripts. A sintaxe para fazer isso é a seguinte:
No script a seguir, obtenho o número de identificação e o código postal de uma frase:
Observe que, ao obter o código postal, não foi especificado um comprimento, o que resultou na extração de todos os caracteres a partir da posição especificada.
No Bash, você pode remover parte do conteúdo de uma variável com base em um separador. Esse separador pode ser qualquer caractere ou conjunto de caracteres, incluindo expressões. Existem duas formas de fazer isso: a forma curta e a forma longa.
Na forma curta, você pode remover parte do conteúdo de duas maneiras: do início para o fim ou do fim para o início. A sintaxe é a seguinte:
O caractere “#” é usado quando você deseja remover conteúdo do início para o fim, enquanto o caractere “%” é usado quando deseja remover conteúdo do fim para o início. No exemplo a seguir, vou demonstrar como remover o nome e a idade de uma frase separados por “dois pontos”:
Observe que o caractere “*” é usado como uma expressão que representa qualquer caractere e qualquer número de caracteres, permitindo que você remova tudo até encontrar o caractere de dois pontos.
Na forma longa, você também pode remover parte do conteúdo do início para o fim ou do fim para o início, mas essa forma remove todas as ocorrências da expressão especificada. A sintaxe é a seguinte:
A diferença entre a forma curta e a forma longa é que a forma longa remove todas as ocorrências encontradas da expressão. Você só pode usar expressões na forma longa, pois não seria prático ter que especificar todo
o conteúdo que deseja remover.
No exemplo a seguir, vou demonstrar como obter o nome e a idade de uma frase separados por “dois pontos” usando a forma longa:
No Bash, é possível substituir partes do conteúdo de uma variável por outro conteúdo. Isso é feito procurando uma expressão, caractere ou conjunto de caracteres no conteúdo da variável e, se encontrado, substituindo-o por outro conteúdo. Existem várias formas de substituição de conteúdo em uma variável.
Para substituir uma ocorrência de uma expressão específica no conteúdo de uma variável, você pode usar a seguinte sintaxe:
No exemplo a seguir, substituímos o nome “Miguel” em uma frase por vários outros nomes:
A saída do script será:
Nesse exemplo, “Miguel” foi substituído por vários outros nomes na frase.
Se você deseja substituir todas as ocorrências de uma expressão específica por outro conteúdo, pode usar a seguinte sintaxe:
No exemplo a seguir, substituímos todas as ocorrências de “Miguel” em uma frase por vários outros nomes:
Observe que todas as ocorrências de “Miguel” na frase foram substituídas pelos nomes especificados.
Para substituir uma expressão no início do conteúdo de uma variável, use a seguinte sintaxe:
No exemplo a seguir, substituímos o número de carros em uma frase por outros números:
Observe que o “5” no início da frase foi substituído por outros números.
Para substituir uma expressão no final do conteúdo de uma variável, use a seguinte sintaxe:
No exemplo a seguir, substituímos o número de carros no final de uma frase por outros números:
Para testar os scripts, faça o download deles e coloque-os em uma pasta em seu diretório pessoal. Certifique-se de dar permissão de execução a todos eles. Aqui está um exemplo de como fazer isso (ajuste para o seu usuário e pasta onde os scripts foram salvos):
A manipulação de STRINGS é uma parte essencial da construção de scripts Bash. No Bash, tudo é tratado como uma string, mesmo números são representados como texto. Compreender como trabalhar com texto de várias maneiras é crucial e é uma habilidade frequentemente utilizada na programação do mundo real.
Lembre-se de que existem muitas outras maneiras de manipular texto usando comandos externos, como awk e sed , entre outros. Este artigo cobriu apenas as técnicas internas fornecidas pelo próprio Bash. Em artigos futuros, exploraremos técnicas de manipulação de texto usando comandos externos.