-
Notifications
You must be signed in to change notification settings - Fork 0
/
make.variants.csv.awk
63 lines (53 loc) · 1.05 KB
/
make.variants.csv.awk
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
#
# tee.hajonnat.csv.awk
# apuohjelma joka tekee
# H21|16|1|1A4 formaatista Pirilaa pureksivan version
# No;Rata-1;Rata-2;Rata-3;Rata-4;....
# 1;1AEH2I1;1BFG1J2
#
# gawk -f tee.hajonnat.csv.awk tulos/tarkistus.joukkueet.csv > lahdedata/hajonta.csv
#
function tulosta_joukkue(sar,jou,hajo) {
printf "%s%s%d",sar,OFS,jou
for (h in hajo) {
hajontastr=hajo[h]
if (hajontastr != "" ) printf "%s%s",OFS,hajontastr
}
printf "\n"
}
BEGIN {
FS="|"
OFS=";"
edjoukkue=0
edsarja=0
}
NF != 4 { next }
NR == 1 {
# tuotetaan csv otsikko
printf "Sarja%sNo",OFS
for (rata=1;rata<=25;rata++) {
printf "%sRata-%d",OFS,rata
}
printf "\n"
}
{
sarja=$1
joukkue=$2
osuus=$3
hajonta=$4
if (joukkue != edjoukkue && edjoukkue != 0) {
#print "=Tulosta:",sarja,joukkue,osuus,hajonta,edsarja,edjoukkue
tulosta_joukkue(edsarja,edjoukkue,hajonnat)
# - nollataan hajonnat
for (o=1;o<=20;o++) {
hajonnat[o]=""
}
}
hajonnat[osuus]=hajonta
edjoukkue=joukkue
edsarja=sarja
}
END {
# viim. joukkue
if (joukkue>0) tulosta_joukkue(sarja,joukkue,hajonnat)
}