Ćwiczenie — używanie powłoki Bash i grep do filtrowania danych wyjściowych interfejsu wiersza polecenia
Do tej pory uruchamialiśmy polecenia Bash autonomicznie. Powłoka Bash jest niezwykle wydajna w połączeniu z innymi narzędziami, więc przećwiczmy używanie powłoki Bash do filtrowania danych wyjściowych z interfejsu wiersza polecenia platformy Azure.
Załóżmy, że chcesz zobaczyć aktualną listę rozmiarów maszyn wirtualnych dostępnych w regionie westus świadczenia usługi platformy Azure. Możesz to zrobić za pomocą tego polecenia:
az vm list-sizes --location westus --output table
Jako dane wyjściowe powinna zostać wyświetlona długa lista typów maszyn wirtualnych. Aby zawęzić tę listę do interesujących Cię rozmiarów maszyn wirtualnych, możesz użyć programu
grep
, czyli uniwersalnego programu do dopasowywania wzorców w systemie Linux. Aby znaleźć rozmiary „DS”, popularne do zastosowań w nauce o danych, użyj następującego polecenia:az vm list-sizes --location westus --output table | grep DS
To polecenie przesyła potokowo dane wyjściowe z polecenia
az
do programugrep
, który odfiltrowuje wiersze niezawierające ciągu „DS”.To wciąż dużo maszyn wirtualnych. Wiesz, że maszyny wirtualne DS V2 to nowsze serie. Dostosujmy polecenie
grep
, aby użyć bardziej skomplikowanego wyrażenia regularnego:az vm list-sizes --location westus --output table | grep DS.*_v2
Odfiltrowuje ono wiersze, które nie pasują do wyrażenia regularnego
DS.*_v2
. Niektóre znaki w tym wyrażeniu możesz rozpoznać na podstawie omówienia „symboli wieloznacznych” we wcześniejszej lekcji. Wyrażenia regularne świetnie wykorzystują symbole wieloznaczne.Wyrażenia regularne są tematem innego modułu, ale przydają się w skryptach powłoki Bash.
Używanie powłoki Bash z innymi poleceniami interfejsu wiersza polecenia ułatwia obsługę tych ostatnich. A ponieważ praca administratora systemu nigdy się nie kończy, każde narzędzie zmniejszające obciążenie jest mile widziane.