68c6a16d5d82b7adc2b02608ba2665c5bfda10ca
[hw/altusmetrum] / bin / fillpartscsv
1 # expand csv partslist, replacing unknown fields with data
2 # from preferred parts list
3
4 # Copyright 2015 by Bdale Garbee <bdale@gag.com>, GPL v3
5
6 BEGIN { 
7         PARTFILE = "../altusmetrum/preferred-parts"
8         partcount = 0
9         while (getline <PARTFILE > 0) {
10                 partcount++
11                 parts[$1, $2, $3] = $0
12         }
13         FS = ","
14 }
15
16 {
17         split(parts[$1,$2,$3],field,"\t")
18
19         printf "\"%s\",\"%s\",\"%s\"", $1, $2, $3
20
21         if ( $4 == "unknown") printf ",\"%s\"", field[4]
22         else printf ",\"%s\"", $4
23
24         if ( $5 == "unknown") printf ",\"%s\"", field[5]
25         else printf ",\"%s\"", $5
26
27         if ( $6 == "unknown") printf ",\"%s\"", field[6]
28         else printf ",\"%s\"", $6
29
30         if ( $7 == "unknown") printf ",\"%s\"", field[7]
31         else printf ",\"%s\"", $7
32
33         if ( $8 == "unknown") printf ",\"%s\"", field[8]
34         else printf ",\"%s\"", $8
35
36         printf ",%s,\"%s\"\n", $9, $10
37 }