Python per esempi (playlist 1/principianti) ITA 19: RIPASSO ED ESERCIZI (if ... else, terza parte)
Sommario:
- Utilizzando i caratteri jolly
- Utilizzando l'operatore del caso
- Utilizzo dell'operatore Regex
- Utilizzando Grep
- Conclusione
Una delle operazioni più comuni quando si lavora con stringhe in Bash è determinare se una stringa contiene o meno un'altra stringa., ti mostreremo diversi modi per verificare se una stringa contiene una sottostringa.
Utilizzando i caratteri jolly
L'approccio più semplice è circondare la sottostringa con i simboli jolly asterisco (asterisco)
*
e confrontarla con la stringa. Il carattere jolly è un simbolo utilizzato per rappresentare zero, uno o più caratteri.
Se il test restituisce
true
, la sottostringa è contenuta nella stringa.
Nell'esempio seguente stiamo usando l'istruzione if e l'operatore di uguaglianza (
==
) per verificare se la sottostringa
SUB
si trova nella stringa
STR
:
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Quando eseguito, lo script genererà:
Utilizzando l'operatore del caso
Invece di usare l'istruzione if puoi anche usare l'istruzione case per verificare se una stringa include o meno un'altra stringa.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac
Utilizzo dell'operatore Regex
Un'altra opzione per determinare se si verifica una sottostringa specificata all'interno di una stringa consiste nell'utilizzare l'operatore regex
=~
. Quando viene utilizzato questo operatore, la stringa corretta viene considerata come un'espressione regolare.
Il periodo seguito da un asterisco
.*
Corrisponde a zero o più occorrenze a qualsiasi carattere tranne un carattere di nuova riga.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Lo script farà eco a quanto segue:
Utilizzando Grep
Il comando grep può anche essere usato per trovare stringhe in un'altra stringa.
Nel seguente esempio, stiamo passando la stringa
$STR
come input a grep e controllando se la stringa
$SUB
si trova all'interno della stringa di input. Il comando restituirà
true
o
false
come appropriato.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if grep -q "$SUB" <<< "$STR"; then echo "It's there" fi
L'opzione
-q
dice a grep di essere silenzioso, di omettere l'output.
Conclusione
Controllare se una stringa contiene una sottostringa è una delle operazioni più basilari e utilizzate di frequente negli script Bash.
Dopo aver letto questo tutorial, dovresti avere una buona conoscenza di come verificare se una stringa include un'altra stringa. Puoi anche usare altri comandi come
awk
o
sed
per i test.
Come verificare se esiste un file o una directory in bash
Molte volte durante la scrittura di script Shell, è possibile trovarsi in una situazione in cui è necessario eseguire un'azione in base all'esistenza o meno di un file. In Bash è possibile utilizzare il comando test per verificare l'esistenza di un file e determinare il tipo di file.
Come usare sed per trovare e sostituire la stringa nei file
sed è un editor di stream. Con sed puoi cercare, trovare e sostituire, inserire ed eliminare stringhe e linee. Supporta espressioni regolari di base ed estese che consentono di abbinare modelli complessi.
Come dividere una stringa in Python
Una delle operazioni più comuni quando si lavora con le stringhe è quella di dividere una stringa in una matrice di sottostringhe usando un determinato delimitatore. In questo articolo, parleremo di come dividere la stringa in Python.