Blame test/longwrds.awk

Packit Service f629e6
# From Gawk Manual modified by bug fix and removal of punctuation
Packit Service f629e6
Packit Service f629e6
# Invoker can customize sort command if necessary.
Packit Service f629e6
BEGIN {
Packit Service f629e6
	if (!SORT) SORT = "LC_ALL=C sort"
Packit Service f629e6
}
Packit Service f629e6
Packit Service f629e6
# Record every word which is used at least once
Packit Service f629e6
{
Packit Service f629e6
	for (i = 1; i <= NF; i++) {
Packit Service f629e6
		tmp = tolower($i)
Packit Service f629e6
		if (0 != (pos = match(tmp, /([[:lower:]]|-)+/)))
Packit Service f629e6
			used[substr(tmp, pos, RLENGTH)] = 1
Packit Service f629e6
	}
Packit Service f629e6
}
Packit Service f629e6
Packit Service f629e6
#Find a number of distinct words longer than 10 characters
Packit Service f629e6
END {
Packit Service f629e6
	num_long_words = 0
Packit Service f629e6
	for (x in used) 
Packit Service f629e6
		if (length(x) > 10) {
Packit Service f629e6
			++num_long_words
Packit Service f629e6
			print x | SORT
Packit Service f629e6
		}
Packit Service f629e6
	print(num_long_words, "long words") | SORT
Packit Service f629e6
	close(SORT)
Packit Service f629e6
}