Esercitazione - Usare Bash e grep per filtrare l'output dell'interfaccia della riga di comando
Finora i comandi di Bash sono stati eseguiti da soli. Bash è potente se combinato con altri strumenti, quindi ora si farà pratica nell'uso di Bash per filtrare l'output dell'interfaccia della riga di comando di Azure.
Si supponga di voler visualizzare un elenco aggiornato delle dimensioni delle macchine virtuali (VM) disponibili nell'area Stati Uniti occidentali di Azure. Tale operazione può essere eseguita con questo comando:
az vm list-sizes --location westus --output table
Verrà visualizzato un lungo elenco di tipi di macchine virtuali come output. Per restringere l'elenco alle dimensioni delle macchine virtuali a cui si è interessati, è possibile usare
grep
, il programma di Linux basato su criteri di ricerca universali. Per trovare le dimensioni "DS", molto diffuse nell'ambito della data science, usare il comando seguente:az vm list-sizes --location westus --output table | grep DS
In questo modo l'output del comando
az
viene inviato tramite pipe agrep
, che filtra le righe in cui non è presente la stringa "DS".Le macchine virtuali sono ancora molte, ma poiché le macchine virtuali DS V2 sono una serie più recente, modificare il comando
grep
per usare un'espressione regolare più complessa:az vm list-sizes --location westus --output table | grep DS.*_v2
In questo modo vengono filtrate le righe che non corrispondono all'espressione regolare
DS.*_v2
. Nell'espressione si potrebbero riconoscere alcuni caratteri citati a proposito dei "caratteri jolly" in un'unità precedente. Nelle espressioni regolari i caratteri jolly sono molto usati.Le espressioni regolari vengono illustrate un altro modulo, ma sono utili per gli script Bash.
L'uso di Bash con altri comandi dell'interfaccia della riga di comando la rende più semplice da usare e poiché il lavoro di un amministratore di sistema è davvero lungo e complesso, qualsiasi strumento in grado di ridurre il carico di lavoro è più che utile.