awk to bardzo wszechstronny interpretowany język skryptowy oraz narzędzie do przetwarzania i analizy danych tekstowych. Nazwa "awk" pochodzi od pierwszych liter nazwisk trzech jego twórców: Alfred Aho, Peter Weinberger i Brian Kernighan.

awk umożliwia procesowanie (wyszukiwanie i przetwarzanie) tekstu (danych wejściowych) w sposób iteracyjny, wczytując dane linia po linii i umożliwiając programiście definiowanie wzorców i akcji, które mają zostać wykonane na tych danych. Dzięki tej właściwości najczęściej używany jest  do przetwarzania bardzo dużych plików tekstowych, logów, strumieni danych,  wyodrębniania informacji, wykonywania obliczeń, modyfikowania danych i generowania raportów.

awk oferuje bogaty zestaw funkcji i wbudowanych zmiennych, umożliwia manipulację tekstem na różne sposoby, włączając w to podział na pola, filtrowanie, łączenie, sortowanie i wiele innych operacji. Dzięki swojej prostocie i elastyczności awk jest często wykorzystywany przez analityków, administratorów systemów i programistów do szybkiego i efektywnego przetwarzania i analizy dużych zbiorów danych tekstowych.

awk jest często używany w systemach operacyjnych typu Unix i Linux do manipulowania strumieniami danych tekstowych.