Introduction et rappel

Introduction au scripting Bash

Alex Scriven

Data Scientist

Introduction au cours

Ce cours couvre :

  • Passer de la ligne de commande à un script Bash
  • Variables et types de données en script Bash
  • Instructions de contrôle
  • Fonctions et automatisation de scripts
Introduction au scripting Bash

Pourquoi le scripting Bash ? (Bash)

Commençons par : pourquoi Bash ?

  • Bash signifie « Bourne Again Shell » (un jeu de mots)

  • Développé dans les années 80, mais très populaire aujourd'hui. Par défaut sur de nombreux systèmes Unix et sur Mac

  • Unix fait tourner l'internet ! (ML Models, Data Pipelines)

    • AWS, Google et Microsoft proposent tous des CLI pour leurs produits
Introduction au scripting Bash

Pourquoi le scripting Bash ? (scripting !)

Alors, pourquoi le scripting Bash ?

  • Exécution simplifiée des commandes du shell (plus besoin de copier-coller à chaque fois !)
  • Des constructions de programmation puissantes
Introduction au scripting Bash

Connaissances attendues

 

Nous supposons quelques connaissances de base pour ce cours.

  • Comprendre ce qu'est la ligne de commande (terminal, shell)
  • Avoir utilisé des commandes comme cat, grep, sed, etc.

Si vous êtes un peu rouillé, pas d'inquiétude : nous réviserons cela maintenant !

Introduction au scripting Bash

Rappel des commandes shell

Quelques commandes shell importantes :

  • (e)grep filtre l'entrée avec des regex
  • cat concatène le contenu des fichiers ligne par ligne
  • tail \ head renvoient seulement les -n dernières/premières lignes (un indicateur)
  • wc compte mots ou lignes (avec -w -l)
  • sed effectue des remplacements selon des motifs
Introduction au scripting Bash

Rappel sur les REGEX

Les « regex », ou expressions régulières, sont essentielles pour le scripting Bash.

Vous devrez souvent filtrer des fichiers, des données dans des fichiers, faire correspondre des arguments, etc. Cela vaut la peine de réviser.

Pour tester vos regex, vous pouvez utiliser des sites utiles comme regex101.com

Introduction au scripting Bash

Un peu de pratique shell

Révisons quelques commandes shell avec un exemple.

Considérez un fichier texte fruits.txt avec 3 lignes :

banana
apple
carrot

Si nous exécutons grep 'a' fruits.txt, nous obtiendrons :

banana
apple
carrot
Introduction au scripting Bash

Un peu de pratique shell

Mais si nous exécutons grep 'p' fruits.txt, nous obtiendrons :

apple

Rappelez-vous que les crochets définissent un ensemble, par exemple [eyfv]. Avec ^, c'est l'inverse (exclut ces lettres/chiffres).

Ainsi, en lançant grep '[pc]' fruits.txt, nous obtiendrions :

apple
carrot
Introduction au scripting Bash

Un peu de pratique shell

Vous avez sans doute déjà utilisé des « pipes » dans le terminal. Si notre fichier contenait beaucoup de fruits, on pourrait utiliser sort | uniq -c

  • Le premier trie alphabétiquement, le second compte les occurrences
  • Pour obtenir les n premiers, on enchaîne avec head (après éventuellement wc -l)
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Introduction au scripting Bash

Passons à la pratique !

Introduction au scripting Bash

Preparing Video For Download...