Ć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 zaawansowana w połączeniu z innymi narzędziami, więc wypróbujmy użycie powłoki Bash do filtrowania danych wyjściowych z interfejsu wiersza polecenia platformy Azure.
Załóżmy, że chcesz wyświetlić aktualną listę rozmiarów maszyn wirtualnych dostępnych w regionie westus 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ć
grep
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.