Příklad


Na závěr první části pojednání o awk uveďme ilustrační příklad: Chceme awk použít na převod výstupu příkazu ls -l do klasického DOSovského tvaru výpisu adresáře, tj. ze tvaru:


-rw-r--r--   1 brandejs staff 
             173741 May 16 21:10 text2.tex

do tvaru:


text2.tex              173741 May 16 21:10

Sestavíme-li kolonu:


ls -l | grep -v ^total | awk -f dirp
potom pro awk (v Systému V - např. Solaris, IRIX - použijte místo awk program nawk, pokud nemáte popisované gawk) potřebujeme následující program v souboru dirp:


BEGIN {print "User is " ENVIRON["LOGNAME"]; 
       print }
 {printf "%-18s %10i %3s %2i %4s\n", $9, $5, 
         $6, $7, $8;
  suma = suma + $5 }
END {printf "      %4i file(s)%11i bytes\n", 
            NR, suma }

Příkazem grep -v ^total zrušíme nevýznamný řádek začínající slovem total. Pole ENVIRON popíšeme v následující části.