La commande shell utile pour additionner une colonne de nombres, grâce à l'outil awk.
Soit le fichier suivant :
cat monfichier
3
183
10
69
Pour additionner ces nombres, j'utilise la commande awk suivante :
cat monfichier | awk '{total = total + $1}END{print total}'
Le résultat affiché est bien entendu 265.
Cette fois c'est une capacité de l'outil awk qui m'intéresse.
Comment afficher ce qui se trouve entre deux motifs ? Le point fort est que cette méthode fonctionne même si les motifs ne sont pas sur la même ligne :
# J'affiche ce qui se trouve entre le motifs MOTIF_01 et MOTIF_02
cat mon_fichier | awk "/MOTIF_01/,/MOTIF_02/"
Dans ce cas, les motifs sont affichés avec ce qui les sépare. Le résultat peut ressembler à quelque chose comme ça :
bla bla bla MOTIF_01 toc
//Plein de trucs se trouvant entre les motifs
paf pouf MOTIF_02 plouf plouf