dup3.go 469 B

12345678910111213141516171819202122232425
  1. package main
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "os"
  6. "strings"
  7. )
  8. func DUP3() {
  9. counts := make(map[string]int)
  10. for _, filename := range os.Args[1:] {
  11. data, err := ioutil.ReadFile(filename)
  12. if err != nil {
  13. fmt.Fprintf(os.Stderr, "dup3: %v\n", err)
  14. continue
  15. }
  16. for _, line := range strings.Split(string(data), "\n") { //读取文件,以\n分割,统计key\value
  17. counts[line]++
  18. }
  19. }
  20. for line, n := range counts {
  21. fmt.Printf("%d\t%s\n", n, line)
  22. }
  23. }