Kapitola 61. awk

Obsah

61.1. Zajímavé funkce

Odkazy:

AWK vznikl jako nástroj usnadňující zpracování textu na UNIXu.

Myslím, že AWK je v současné době nástroj spíše opomíjený a nedoceňovaný.

awk je skriptovacím nástrojem pro spracování textů. Je dalším z řady mocných nástrojů UNIXu. Jedná se o nástroj kombinující v sobě jednoduchým způsobem regulární výrazy a jednoduchý imperativní progamovací jazyk. Ve své podstatě skript/program v jazyce awk sestává z řady pravidel tvaru

vzor { akce }

vstupní textový soubor se pak prochází řádek po řádku a porovnává se vzory uvedenými ve skriptu. Pokud vzor vyhovuje, provede se akce.

Pro lepší pochopení jeden příklad. Potřebujeme vytisknout názvy účtů uživatelů s identifikačním číslem uid větším než 1000 včetně. Skript tedy bude vypadat takto:

$3>=1000 {print $1}

Protože je velmi krátký, přímo jednořádkový, nebudeme jej psát do souboru ale předáme jej příma jako parametr programu awk

$ awk -vFS=: '$3>=1000 {print $1}' /etc/passwd
nobody
radek
stana
saib

Jak je patrné již z tohoto jednoduchého příkladu, awk použijeme všude tam, kde s jednoduššími nástroji nevystačíme.