main.go 645 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package mergelbl
  2. import(
  3. "os"
  4. "fmt"
  5. "bufio"
  6. "log"
  7. "surdeus.su/core/cli/mtool"
  8. )
  9. func Run(flagSet *mtool.Flags) {
  10. var(
  11. e error
  12. buf string
  13. )
  14. rsep := '\n'
  15. wsep := "\n"
  16. //del := ""
  17. flagSet.Parse()
  18. args := flagSet.Args()
  19. files := make([]*os.File, len(args))
  20. for i, v := range args {
  21. files[i], e = os.Open(v)
  22. if e!=nil {
  23. log.Fatal(e)
  24. }
  25. }
  26. rds := make([]*bufio.Reader, len(files))
  27. for i, v := range files {
  28. rds[i] = bufio.NewReader(v)
  29. }
  30. for{
  31. s := ""
  32. for _, r := range rds{
  33. buf, e = r.ReadString(byte(rsep))
  34. if e!=nil {
  35. os.Exit(1)
  36. }
  37. s += buf[:len(buf)-1]
  38. }
  39. fmt.Printf("%s%s", s, wsep)
  40. }
  41. }