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.