github.com/t-ham752/go-linux@v0.0.0-20230521064409-70f30d2872cc/pkg/cat/cat.go (about) 1 package cat 2 3 import ( 4 "fmt" 5 "io" 6 "os" 7 ) 8 9 func run(args []string, w io.Writer) error { 10 if len(args) < 2 { 11 return fmt.Errorf("too few arguments") 12 } 13 for _, arg := range args[1:] { 14 file, err := os.Open(arg) 15 if err != nil { 16 return err 17 } 18 _, err = io.Copy(w, file) 19 } 20 return nil 21 } 22 func Cat() error { 23 err := run(os.Args, os.Stdout) 24 if err != nil { 25 return err 26 } 27 return nil 28 }