예제: BEGIN{ FS=" " # FS(field separator) 지정; # default는 blank(space,tab,cr,...)임 printf("%10s %6s %5s %s\n\n",\ "Country", "Area", "Pop", "Continent") } { printf("%10s %6d %5d %s\n", $1, $2, $3, $4) area=area+$2 pop=pop+$3 } END{ printf("\n%10s %6d %5d\n","Total", area, pop) } 결과: Country Area Pop Continent USSR 8649 275 Asia Canada 3852 25 North China 3705 1032 Asia USA 3615 237 North Brazil 3286 134 South India 1267 746 Asia Mexico 762 78 North France 211 55 Europe Japan 144 120 Asia Germany 96 61 Europe England 94 56 Europe Total 25681 2819
/Asia/ # 현 line에 Asia가 있으면 TRUE $0 ~ /Asia/ # 바로위와 동일 $4 ~ /Asia/ # $4안에 Asia가 있으면 TRUE $4 !~/Asia/ # $4안에 Asia가 없으면 TRUE
중요: ^ : 첫글짜 $ : 마지막글짜 ? : 있어도 되고 없어도 됨 + : 1번이상 반복 * : 0번이상 반복
/^[0-9]+$/ : 숫자로만 이루어진 패턴 /^[0-9][0-9][0-9]$/ : 3자리 숫자 /^(\+|-)?[0-9]+\.?[0-9]*$/ : floating point number /^[a-zA-A][a-zA-Z0-9]*$/ : 변수이름 /^[a-zA-Z][0-9]?$/
$4=="Asia" && $3 >500 $4=="Asia" || $4 =="Europe"
/Europe/, /Africa/ # Europe이 있으면 # Africa이 나올때까지(Africa포함) FNR==1, FNR==5 { print FILENAME ":" $0} # 각 file의 5line씩만 출력 FNR<=5 {print FILENAME ":" $0} # 위줄과 동일기능 # FNR 은 NR과 유사하나 FNR 은 file이 바뀌면 reset됨