Regex corrispondente in un'istruzione Bash If

Regex corrispondente in un'istruzione Bash If

In molti linguaggi di programmazione, tra cui bash, espressioni regolari note come regex, sono uno strumento efficace per la corrispondenza dei motivi e l'elaborazione del testo. L'istruzione IF è una struttura di controllo comune utilizzata negli script bash per eseguire determinati comandi in base a determinate condizioni. In Bash, è possibile utilizzare Regex per abbinare i modelli nelle istruzioni IF per controllare l'esecuzione dello script e questa guida è tutta una questione di abbinamento Regex in un'istruzione BASH IF.

Regex corrispondente in un'istruzione Bash If

La sintassi per l'utilizzo di Regex in un'istruzione If Bash è semplice in quanto è possibile utilizzare l'operatore = ~ per abbinare una stringa contro un modello di espressione regolare, ecco un esempio:

#!/Bin/Bash
Se [["Hello Linux" = ~ ^ciao.*]]; Poi
Echo "Match trovata!"
altro
echo "nessuna partita trovata."
fi

L'istruzione if controlla se la stringa "ciao linux" corrisponde al modello di espressione regolare "^ciao.*". Il simbolo di caret (^) nel motivo indica l'inizio della stringa e il punto-star (. ) corrisponde a qualsiasi carattere zero o più volte.

Se viene trovata la corrispondenza, lo script eseguirà i comandi nel blocco quindi. In questo caso, lo script stamperà “Match trovata!"Alla console. Se non c'è corrispondenza, lo script eseguirà i comandi nel blocco else, che stamperanno “Nessuna corrispondenza trovata."Alla console:

Puoi anche usare Regex per abbinare le variabili in uno script bash, ecco un esempio:

#!/Bin/Bash
STR = "Hello Linux"
Se [[$ str = ~ ^ciao.*]]; Poi
Echo "Match trovata!"
altro
echo "nessuna partita trovata."
fi

Qui l'istruzione IF controlla se la variabile "STR" corrisponde al modello di espressione regolare "^ciao.*". La variabile è racchiusa in doppie citazioni per prevenire la scissione delle parole e l'espansione del nome file:

Conclusione

Un'istruzione If Bash con corrispondenza regex è uno strumento efficace per l'elaborazione del testo e la corrispondenza del modello negli script bash. Può essere usato per limitare il modo in cui i tuoi script vengono eseguiti in base a criteri particolari. Padroneggiando la corrispondenza di Regex in Bash, puoi scrivere script più efficienti ed efficaci che automatizzano il flusso di lavoro e risparmiano tempo e sforzi.