Remplacer Sed et Awk par Ruby 5: Accéder aux champs/colonnes
Toujours dans l’optique de remplacer Sed et Awk par Ruby, et après avoir vu les options -p et -l, on voit comment accéder facilement aux différentes colonnes d’un fichier.
Voici le fichier de données tout simple qui va nous servir aujourd’hui:
L’objectif est de calculer la somme des valeurs de la 1ère colonne,
uniquement quand la 2e colonne affiche a
. On pourrait bien sûr splitter
la ligne ($_
) pour obtenir nos champs, mais il y a plus rapide.
En activant l’option -a
de la ligne de commande, Ruby va automatiquement
splitter chaque lignes du fichier de données dans la variable prédéfinie
$F
(pour Fields). On n’a donc rien à faire ;) et on peut se concentrer
sur les calculs:
[~]⇒ ruby -an test.rb < data.txt
Total: 12
À demain.
/ / / / / / / / / /