1c8319e862da3068893834ce206328319fcd622c
[goproglang.git] / dup3.go
1 package main
2
3 import (
4     "fmt"
5     "io/ioutil"
6     "os"
7     "strings"
8 )
9
10 func main() {
11         counts := make(map[string]int)
12         for _, filename := range os.Args[1:] {
13         data, err := ioutil.ReadFile(filename)
14         if err != nil {
15                 fmt.Fprintf(os.Stderr, "dup3: %v\n", err)
16                 continue
17         }
18         for _, line := range strings.Split(string(data), "\n") {
19                 counts[line]++
20         }
21         }
22         for line, n := range counts {
23                 if n > 1 {
24                 fmt.Printf("%d\t%s\n", n, line)
25                 }
26         }
27 }