awk
AWK est une commande très puissant pour le traitement des commandes :
il fonction en tant que commande qui agit sur
stdinil 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 45On 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 :
Rien que cette fonctionnalité est très utile dans la manipulation des journaux, par exemple.
Exercice avec awk
awkEst-ce que vous pouvez trouver la totale de la colonne 9 (« value ») du fichier .csv qui si trouve ici ?
Mis à jour