awk (également écrit comme Awk et AWK) est un utilitaire qui permet à un programmeur d'écrire des programmes minuscules mais efficaces sous la forme d'instructions qui définissent les motifs de texte à rechercher dans chaque ligne d'un document et l'action à effectuer lorsqu'une correspondance est trouvée dans une ligne. awk est livré avec la plupart des systèmes d'exploitation basés sur UNIX tels que Linux, et également avec certains autres systèmes d'exploitation, tels que Windows 95/98/NT. Un programme awk est composé de motifs et d'actions à exécuter lorsqu'une correspondance de motif est trouvée. awk parcourt les lignes d'entrée séquentiellement et examine chacune d'entre elles pour déterminer si elle contient un motif correspondant à celui spécifié par l'utilisateur. Une fois que le motif correspondant a été trouvé, awk exécute les instructions du programme. Awk peut scanner le texte pour trouver la partie critique et ensuite le reformater selon la commande de l'utilisateur. Si aucun motif n'est spécifié, le programme exécutera la commande sur toutes les données d'entrée.
Nommé d'après ses trois créateurs, Alfred Aho et Peter Weinberger respectivement, le nom "awk", est tiré de leurs noms : Brian Kernighan, Brian Kernighan et Peter Weinberger. Il a été développé à partir des syntaxes grep, C et sed, une combinaison qui permet de développer rapidement des programmes complexes. awk est fréquemment utilisé pour le prototypage. Il existe trois versions d'awk : Portable Operating System Interface (awk), New awk(Nawk), et GNU (awk), toutes utilisées pour le prototypage. Le langage Practical Extraction and Reporting Language a été développé comme une version améliorée de l'awk, avec lequel Perl est rétrocompatible. (als
/nutmeg/ print $0 .
awk découpe chaque ligne en champs, qui sont des groupes de caractères avec des espaces servant de séparateurs, de sorte qu'un mot, par exemple, serait un champ. Une chaîne de caractères est encadrée par des barres obliques inversées et les actions à effectuer sont encadrées par des accolades. Les lignes sont numérotées en fonction de leur ordre d'apparition. Le chiffre "0" correspond à la ligne entière. Le symbole du champ est "$". Le programme awk pourrait être utilisé pour trouver les lignes contenant "nutmeg" et imprimer chaque ligne où il apparaît.