diff --git a/main.go b/main.go index ff15b32..61abe6c 100644 --- a/main.go +++ b/main.go @@ -33,6 +33,14 @@ func main() { for i := range fields { fields[i] = strings.TrimSpace(fields[i]) } + for i := range fields { + for j := i + 1; j < len(fields); j++ { + if fields[i] == fields[j] { + fields[i] = fmt.Sprintf("%s[%d]", fields[i], i) + fields[j] = fmt.Sprintf("%s[%d]", fields[j], j) + } + } + } n := 0 for { n += 1 @@ -55,6 +63,9 @@ func main() { if i < len(fields) { k = fields[i] } + if _, ok := lineResult[k]; ok { + k = fmt.Sprintf("%s[%d]", k, i) + } lineResult[k] = strings.TrimSpace(line[i]) } b, _ := json.Marshal(lineResult)