1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#Script to sort rule matches from LanguageTool
#Usage: gawk -f stats.awk <file_created_by_LanguageTool>
#(c) 2008, Marcin Milkowski
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA
/^[0-9]+\.\)/ {
gsub(/^.*ID: /,"")
rule_cnt[$0]++
current_rule=$0
rulematch=1
linecnt=0
}
/^(Message: |Suggestion:)/ {
comments[current_rule]= comments[current_rule] "\n" $0
linecnt++
}
!/^($|Message: |Suggestion:|Time:)/ && !/ \^/ {
if (linecnt>0)
comments[current_rule]= comments[current_rule] "\n" $0
}
/^ / && / \^/ {
comments[current_rule]= comments[current_rule] "\n" $0 "\n"
}
END {
if (rulematch==1) {
print "LanguageTool rule matches in descending order"
print "============================================="
print ""
}
z = asorti(rule_cnt, rule_names)
#for (i = 1; i <= z; i++)
# print i " " rule_names[i]
n = asort(rule_cnt, rules)
for (i = z; i >= 1; i--) {
for (j = 1; j <= z; j++) {
# print j " " rule_names[j] " => " rule_cnt[rule_names[j]]
if (rule_cnt[rule_names[j]]==rules[i] \
&& printed[rule_names[j]]!="done") {
printed[rule_names[j]]="done"
rule=rule_names[j]
print "Rule ID: " rule ", matches: " rule_cnt[rule]
print comments[rule]
print "============="
}
}
}
}
|