Como usar o Bash = ~ Regex para combinar com várias strings

Como usar o Bash = ~ Regex para combinar com várias strings
Uma das características poderosas do Bash é sua capacidade de usar expressões regulares para corresponder aos padrões em strings e torna -se útil ao lidar com dados de texto em scripts e automatizar tarefas. Neste artigo, exploraremos como usar o operador Bash = ~ com expressões regulares para combinar com várias strings.

O que é = ~ regex em bash

O operador Bash = ~ nos permite corresponder a uma expressão regular com uma string e retorna true se a expressão corresponde a toda a string, no outro caso, retorna falsa.

Usando Bash = ~ regex para combinar com várias strings

Na script de bash, o operador "=" é usado para combinar com uma expressão regular com uma string. Com Regex, você pode combinar uma única string ou um padrão de strings. No entanto, há situações em que você precisa corresponder a várias strings em uma única operação, então aqui está a sintaxe para combinar várias strings:

[[$= ~ $]]

Para ilustrar ainda mais, dei um exemplo de script de bash que contém duas cordas e cinco partidas que eu quero fazer, abaixo está o respectivo script:

#!/BIN/BASH
mystring = "Olá e bem -vindo ao linuxhint.com "
MyString = "Saudações e bem -vindo ao Linux Mint"
padrões = ("Hello" "Welcome" "Linuxhint" "Mint" "Apple")
correspondente1 = 0
correspondente2 = 0
Para padrão em "$ padrões [@]"
fazer
se [[$ myString = ~ $ Pattern]]; então
eco "a string1 corresponde ao padrão: $ padrão"
correspondente1 = 1
fi
se [[$ myString = ~ $ Pattern]]; então
eco "O String2 corresponde ao padrão: $ padrão"
correspondente2 = 1
fi
feito

Este código define duas cordas mystring e mystring, e um padrão de matriz que contém os padrões para combinar. Em seguida, ele atravessa os padrões e verifica se cada um é encontrado em mystring e mystring usando declarações if com o = ~ operador. Se uma correspondência for encontrada em uma string, o código exibe uma mensagem sobre o padrão correspondente, enquanto que se nenhuma correspondência for encontrada em uma string, o código imprimirá uma mensagem que indicará que a string não corresponde a nenhum dos padrões especificados.

A instrução Matched = 1 dentro do loop for usada para indicar que o padrão atual que está sendo verificado foi encontrado na sequência de entrada.Se a variável correspondente permanecer 0 após a verificação de todos os padrões, isso significa que nenhum dos padrões foi encontrado na sequência de entrada e aqui está a saída para o código:

Conclusão

Bash Script vem com uma variedade de opções para automatizar as tarefas. O operador Bash = ~ com expressões regulares é usado para combinar com várias strings e este guia ilustra como usar esse operador pela ajuda de um exemplo que corresponde a um conjunto de amostras com duas strings.