Oefening: Bash en grep gebruiken om CLI-uitvoer te filteren
Tot nu toe hebt u Bash-opdrachten zelfstandig uitgevoerd. Bash is krachtig in combinatie met andere hulpprogramma's, dus laten we oefenen met behulp van Bash om uitvoer van de Azure CLI te filteren.
Stel dat u een actuele lijst wilt zien van de grootten van de virtuele machines (VM's) die beschikbaar zijn in de regio Westus van Azure. U kunt dit doen met de volgende opdracht:
az vm list-sizes --location westus --output table
U ziet een lange lijst met VM-typen als uitvoer. Als u deze lijst wilt beperken tot de VM-grootten die u interesseren, kunt u het universele patroonkoppelingsprogramma van Linux gebruiken
grep
. Als u de DS-grootten wilt vinden, die populair zijn voor gebruik in de gegevenswetenschap, gebruikt u de volgende opdracht:az vm list-sizes --location westus --output table | grep DS
Hiermee wordt de uitvoer van de opdracht
az
doorgesluisd naargrep
, waarmee de regels die niet de string 'DS' bevatten eruit worden gefilterd.Dat is nog steeds heel wat VM's. U weet dat DS V2 VM's een meer recente serie zijn. We passen de opdracht
grep
aan om een ingewikkeldere reguliere expressie te gebruiken:az vm list-sizes --location westus --output table | grep DS.*_v2
Hiermee worden de regels die niet overeenkomen met de reguliere expressie
DS.*_v2
weggefilterd. U herkent een enkele tekens in die expressie van onze bespreking van 'jokertekens' in een eerdere eenheid. Reguliere expressies maken veel gebruik van jokertekens.Reguliere expressies zijn een onderwerp voor een andere module, maar zijn handig voor het maken van Bash-scripts.
Als u Bash met andere CLI-opdrachten gebruikt, maakt die opdrachten gemakkelijker om mee te werken. En omdat het werk van een systeembeheerder nooit ophoudt, is iets wat helpt de werkbelasting te verminderen altijd welkom.