awk '/00[7-9]\.|0[1-9][0-9]\./ { # for lines matching the regex
split($6, c, /:/) # take the part of field 6 before the colon
cs[ c[1] ]++ # and increment the counter for that string
}
END { # after all lines have been read
for (c in cs) { # step through the counters
print cs[c], c # and output the count followed by the string
# ("," adds a space automatically)
}
}' filename.log | sort -rn # standard awk doesn't support sorting, sadly
Continuo espantado com o número de pessoas que aparentemente acreditam que nem awk
nem sed
podem fazer correspondência de padrões, por isso precisam adicionar uma invocação grep
.