awk
AWK est une commande très puissant pour le traitement des commandes :
il fonction en tant que commande qui agit sur
stdin
il fonction en tant qu'interprète comme
bash
C'est un language de programmation pour le shell qui peut-être très puissant. Mais il faut d'abord l'étudier :
awk
en bref
awk
en brefJ'utilise awk
typiquement dans l'analyse de logs, parce qu'il y a le moyen d'extraire facilement des colonnes précis, ainsi qu'effectuer des opérations mathématiques (comme l'addition) sur l'ensemble des lignes.
Par exemple, regardez le fichier columnes.txt
:
hetic@eabaf4e7983c:~$ cat columns.txt
1 Hello Kevin 40
2 Goodbye Robert 22
3 Morning Glass 34
4 Evening Matthew 45
On voit qu'il y a 4 colonnes. Si je voulais extraire seulement le 3ème colonne :
cat columns.txt | awk '{ print $3 }'
Ce qui se trouve entre les accolades {}
est le language de programmation awk
dont la commande print
est définie.
Si je voulais trouver la somme de la dernière colonne :
cat columns.txt | awk '{ s+=$4 } END { print s }'
Rien que cette fonctionnalité est très utile dans la manipulation des journaux, par exemple.
Exercice avec awk
awk
Est-ce que vous pouvez trouver la totale de la colonne 9 (« value ») du fichier .csv qui si trouve ici ?
Dernière mise à jour