|
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 |
}
|