Come usare bash = ~ regex per abbinare più stringhe

Come usare bash = ~ regex per abbinare più stringhe
Una delle potenti caratteristiche di Bash è la sua capacità di utilizzare espressioni regolari per abbinare i modelli nelle stringhe e diventa utile quando si tratta di dati di testo negli script e automatizzando le attività. In questo articolo, esploreremo come utilizzare l'operatore Bash = ~ con espressioni regolari per abbinare più stringhe.

Cosa è = ~ regex in bash

L'operatore Bash = ~ ci consente di abbinare un'espressione regolare contro una stringa e restituisce vero se l'espressione corrisponde all'intera stringa, nell'altro caso restituisce false.

Usando Bash = ~ regex per abbinare più stringhe

Negli script bash, l'operatore "=" viene utilizzato per abbinare un'espressione regolare contro una stringa. Con Regex, puoi abbinare una singola stringa o un modello di stringhe. Tuttavia, ci sono situazioni in cui è necessario abbinare più stringhe in una singola operazione, quindi ecco la sintassi per abbinare più stringhe:

[[$= ~ $]]

Per illustrare ulteriormente ho dato uno script bash di esempio che contiene due stringhe e cinque partite che voglio fare, di seguito è il rispettivo script:

#!/Bin/Bash
MyString = "Ciao e benvenuto a LinuxHint.com "
MyString = "Saluti e benvenuti a Linux Mint"
patterns = ("Hello" "Welcome" "LinuxHint" "Mint" "Apple")
abbinato1 = 0
abbinato2 = 0
per pattern in "$ patters [@]"
Fare
se [[$ mystring = ~ $ pattern]]; Poi
Echo "La string1 corrisponde al modello: $ pattern"
abbinato1 = 1
fi
se [[$ mystring = ~ $ pattern]]; Poi
Echo "La string2 corrisponde al modello: $ pattern"
abbinato2 = 1
fi
Fatto

Questo codice definisce due stringhe mystring e mystring e un modello di array contenente i modelli da abbinare. Quindi attraversa i modelli e controlla se ognuno si trova in MyString e MyString utilizzando le istruzioni IF con l'operatore = ~. Se una corrispondenza viene trovata in una stringa, il codice visualizza un messaggio relativo alla corrispondenza del pattern mentre se non vengono trovate corrispondenze in una stringa, il codice stamperà un messaggio che indicherà che la stringa non corrisponde a nessuno dei motivi dati.

L'istruzione abbinata = 1 all'interno del loop viene utilizzato per indicare che il modello di corrente da controllare è stato trovato nella stringa di input.Se la variabile abbinata rimane 0 dopo aver controllato tutti i modelli, significa che nessuno dei modelli è stato trovato nella stringa di input ed ecco l'output per il codice:

Conclusione

Bash Scripting viene fornito con una varietà di opzioni per automatizzare le attività. L'operatore Bash = ~ con espressioni regolari viene utilizzato per abbinare più stringhe e questa guida illustra come utilizzare questo operatore con l'aiuto di un esempio che corrisponde a una serie di campioni con due stringhe.