Ćwiczenie — używanie powłoki Bash i grep do filtrowania danych wyjściowych interfejsu wiersza polecenia

Ukończone

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.

  1. 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
    
  2. 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 programu grep, który odfiltrowuje wiersze niezawierające ciągu „DS”.

  3. 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.