# qso-stats.awk # 年月別交信局数集計スクリプト(html出力版) by JQ1UKK/1 # # 04-JAN-2004 初版 # 08-JAN-2004 バンド判別方法変更 # 19-JAN-2004 年別集計表を10年毎表示に変更 # 08-FEB-2004 ちょっと派手目にしてみました(Coloring by JH0RNN) # 06-NOV-2005 HAMLOG VER5 対応(改造 by JA8NNT/1) BEGIN { FIELDWIDTHS = "22 2 1 2 27 7 3" # $2:year # $4:month # $6:band # $7:mode num_band = split("1.9 3.5 7 10 14 18 21 24 28 50 144 430 1200 2400 5600 etc TOTAL", bandlist, " ") yearmin = 2050 yearmax = 1950 } { year = $2 += 0 month = $4 += 0 band = $6 #year2桁→4桁変換 if (year < 50) {year = 2000 + year} else {year = 1900 + year} #バンド判別 if (band ~ /.*\/\.*/) {bandid = 16} else if (band ~ /^1\..*/) {bandid = 1} else if (band ~ /^3\..*/) {bandid = 2} else if (band ~ /^7.*/) {bandid = 3} else if (band ~ /^10.*/) {bandid = 4} else if (band ~ /^14[^45].*/) {bandid = 5} else if (band ~ /^18.*/) {bandid = 6} else if (band ~ /^21.*/) {bandid = 7} else if (band ~ /^24[^0-9].*/) {bandid = 8} else if (band ~ /^2[89].*/) {bandid = 9} else if (band ~ /^5[0-5].*/) {bandid = 10} else if (band ~ /^14[45].*/) {bandid = 11} else if (band ~ /^43.*/) {bandid = 12} else if (band ~ /^12.*/) {bandid = 13} else if (band ~ /^24[0-9].*/) {bandid = 14} else if (band ~ /^5[6-9].*/) {bandid = 15} else bandid=16 #集計 count[year, month, bandid]++ count[year, month, num_band]++ count[year, 13, bandid]++ count[year, 13, num_band]++ count[bandid]++ count[num_band]++ if(year <= yearmin) {yearmin = year} if(year >= yearmax) {yearmax = year} } END { printf "
Band" for(year = year1; year < year1+10; year++) { printf " | %d",year } if(year >= yearmax) { printf " | TOTAL\n" } else { printf "\n" } for(bandid = 1; bandid <= num_band; bandid++) { printf " |
---|---|---|
%s", bandlist[bandid] for(year = year1; year < year1+10; year++) { printf " | %s ", count[year, 13, bandid]"" } if(year >= yearmax) { printf " | %s \n", count[bandid]"" } else { printf "\n" } } printf " |
Band | JAN | FEB | MAR | APR | MAY | JUN | JUL | AUG | SEP | OCT | NOV | DEC | TOTAL\n" for(bandid = 1; bandid <= num_band; bandid++) { printf " |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
%s", bandlist[bandid] for(month = 1; month <= 12; month++) { printf " | %s ", count[year, month, bandid]"" } printf " | %s \n", count[year, 13, bandid""] } printf " |