BEGIN { getline px = split ($NF, pz, "_") tok = pz[2] pos = pz[1] lem = $1 ctp = 1 ctt = 1 printf "%-20s %10s %10s %10s\n", "-Lemma-", "-Type-", "-Token-", "-POS-" } { px = split ($NF, pz, "_") tok2 = pz[2] pos2 = pz[1] lem2 = $1 if (lem2 == lem) { if (pos2 == pos && tok2 == tok) { ctp++ } else if (pos2 == pos && tok2 != tok) { ctp++ ctt++ } else if (pos2 != pos) { printf "%-20s %8d %9d %12s\n", lem, ctt, ctp, pos ctp = 1 ctt = 1 } lem = lem2 pos = pos2 tok = tok2 } else { printf "%-20s %8d %9d %12s\n", lem, ctt, ctp, pos ctp = 1 ctt = 1 lem = lem2 pos = pos2 tok = tok2 } } END { printf "%-20s %8d %9d %12s\n", lem, ctt, ctp, pos }