我正在尝试使用cmd最小化文件。
代码:
func minify(path string) {
if exists(path) {
fmt.Println("File exist")
} else {
fmt.Println("File NOT exist")
}
cmdStr := `sed ':a;N;$!ba;s/\\n//g' ` + path + " > " + path
fmt.Println(cmdStr)
cmd := exec.Command(cmdStr)
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
}
func exists(name string) bool {
if _, err := os.Stat(name); err != nil {
if os.IsNotExist(err) {
return false
}
}
return true
}
函数 exist() 验证文件是否存在:
2021/04/20 14:14:53 /media/peter/Elements/Code/free-quotes.info/ubuntu/aws/Go/views/500.min.html
File exist
但是当尝试运行命令时sed ':a;N;$!ba;s/\\n//g' /media/peter/Elements/Code/free-quotes.info/ubuntu/aws/Go/views/500.min.html > /media/peter/Elements/Code/free-quotes.info/ubuntu/aws/Go/views/500.min.html
我得到no such file or directory
根据我尝试过的以下反馈
func minify(oldPath string, newPath string) {
cmd := exec.Command("sed", ":a;N;$!ba;s/\n//g", oldPath, ">", newPath)
if err := cmd.Run(); err != nil {
fmt.Println(whereami.WhereAmI(), err)
}
}
但现在我得到:
File: main.go Function: main.minify Line: 91 exit status 1
忽然笑
函数式编程