Wiele przydatnych programów awk jest krótkich, mają linijkę czy dwie.
Oto kolekcja przydatnych programików na dobry początek. Niektóre z nich
zawierają konstrukcje, o których jeszcze nie mówiono. Opis danego programu
powinien dać ci pojęcie, o co chodzi, ale proszę przeczytaj resztę książki,
by stać się ekspertem od awk!
Większość tych przykładów używa pliku danych o nazwie `dane'. Jest to tylko wypełniacz; gdybyś chciał się nimi posłużyć, podstaw zamiast `dane' własne nazwy plików.
awk '{ if (length($0) > max) max = length($0) }
END { print max }' dane
awk 'length($0) > 80' dane
expand dane | awk '{ if (x < length()) x = length() }
END { print "maximum line length is " x }'
expand, zmieniającym tabulacje
na spacje, zatem porównywane szerokości są faktycznie kolumnami od prawego
marginesu.
awk 'NF > 0' dane
awk 'BEGIN { for (i = 1; i <= 7; i++)
print int(101 * rand()) }'
ls -lg pliki | awk '{ x += $5 } ; END { print "ogółem bajtów: " x }'
ls -lg pliki | awk '{ x += $5 }
END { print "ogółem K-bajtów: " (x + 1023)/1024 }'
awk -F: '{ print $1 }' /etc/passwd | sort
awk 'END { print NR }' dane
awk 'NR % 2 == 0' dane
Przejdź do pierwszej, poprzedniej, następnej, ostatniej sekcji, spisu treści.