awk
Traitement de texte
Syntaxe
awk '{print $1}' [file]Découpe chaque ligne en champs et y exécute un petit programme ; $0 est la ligne entière et $1 le premier champ, et le séparateur par défaut est toute suite d'espaces, pas une seule.
Options courantes
| Option | Signification |
|---|---|
| -F | Set the field separator, as in -F, |
| -v | Pass a shell value in as an awk variable |
| -f | Read the program from a file |
| $0 | The whole line; $1 is the first field, NF the field count |
Exemples
awk -F, '{print $2}' data.csvSecond column of a comma-separated file.
awk '$3 > 100' access.logOnly the rows whose third field exceeds 100.
awk '{s+=$1} END {print s}' nums.txtAdds up the first column.
Ils sont faits pour être chaînés avec des tubes. Trois commandes reliées sont souvent plus courtes qu’une seule qui fait tout.
Comment lire
- Les crochets [ ] marquent une partie facultative.
- Les points de suspension … signifient qu’on peut en mettre plusieurs.
- Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.
Questions fréquentes
Q. Que fait awk ?
Découpe chaque ligne en champs et y exécute un petit programme ; $0 est la ligne entière et $1 le premier champ, et le séparateur par défaut est toute suite d'espaces, pas une seule.
Q. Comment l’écrire ?
awk '{print $1}' [file] — les crochets marquent ce qui est facultatif.
Q. Combien d’options valent la peine ?
Il y en a 4 ici ; la liste complète est dans man awk. Cette commande relève de Traitement de texte.
Commandes liées
page man: man awk