Exercice - Utiliser Bash et grep pour filtrer la sortie de CLI

Effectué

Jusqu’à présent, vous avez exécuté des commandes Bash toutes seules. Bash est puissant lorsqu’il est associé à d’autres outils. Nous allons donc nous exercer à utiliser Bash pour filtrer les données de sortie d’Azure CLI.

  1. Supposons que vous souhaitez obtenir une liste actualisée des tailles de machines virtuelles (VM) disponibles dans la région Westus d'Azure. Pour cela, utilisez cette commande :

    az vm list-sizes --location westus --output table
    
  2. Vous devriez obtenir une longue liste de types de machine virtuelle en sortie. Pour réduire cette liste aux tailles de machines virtuelles qui vous intéressent, vous pouvez utiliser grep, le programme universel de recherche de motifs de Linux. Pour rechercher les tailles « DS », couramment utilisées en science des données, utilisez la commande suivante :

    az vm list-sizes --location westus --output table | grep DS
    

    La sortie est envoyée à l’aide du pipe de la commande az à grep, qui filtre les lignes qui n’ont pas de chaîne « DS ».

  3. Il reste encore de nombreuses machines virtuelles. Vous savez que les machines virtuelles DS V2 sont une série plus récente. Ajustons la commande grep pour utiliser une expression régulière plus complexe :

    az vm list-sizes --location westus --output table | grep DS.*_v2
    

    Ceci a pour effet de filtrer les lignes qui ne correspondent pas à l’expression régulière DS.*_v2. Vous reconnaîtrez peut-être dans cette expression certains des caractères de notre discussion sur les « caractères génériques » dans une unité précédente. Les expressions régulières font très largement usage des caractères génériques.

    Les expressions régulières sont un sujet à part entière, mais elles sont utiles pour les scripts Bash.

L’utilisation de Bash avec d’autres commandes CLI rend celles-ci plus conviviales. Et comme le travail d’un administrateur système ne s’arrête jamais, tout outil capable de réduire la charge de travail est le bienvenu !