编写了一个调用“ls”的简单程序,然后通过正则表达式过滤以“s”结尾的文件传递每一行。ls 仅用于学习 exec 包的目的。我怎样才能改进下面的代码更正确/简洁/go-ish?
package main
import (
"bufio"
"fmt"
"os/exec"
"regexp"
)
func main() {
cmd := exec.Command("ls")
stdout, _ := cmd.StdoutPipe()
s := bufio.NewReader(stdout)
cmd.Start()
go cmd.Wait()
for {
l, _, err := s.ReadLine()
if err != nil {
break
}
if m, err := regexp.Match(".*s$", l); m && err == nil {
fmt.Println(string(l))
}
}
}