亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Cmd 找不到文件

Cmd 找不到文件

Go
繁花不似錦 2022-08-24 17:25:29
我正在嘗試使用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.htmlFile 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
查看完整描述

2 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

如果要刪除所有換行符,可以直接使用 Go:


package main


import (

   "bytes"

   "os"

)


func main() {

   b, e := os.ReadFile("file.txt")

   if e != nil {

      panic(e)

   }

   b = bytes.ReplaceAll(b, []byte{'\n'}, nil)

   println(string(b))

}

https://golang.org/pkg/bytes#ReplaceAll


查看完整回答
反對 回復 2022-08-24
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

您正在將包括路徑和參數在內的所有部分傳遞到一個參數中。但是,當您查看命令函數時,它需要路徑和參數,如以下文檔中所述。https://golang.org/pkg/os/exec/#Command

所以我相信你應該像下面這樣編輯你的代碼;執行。命令(“sed”, “:a;N;$!ba;s/\n//g“, fPath1, ”>“, fPath2)


查看完整回答
反對 回復 2022-08-24
  • 2 回答
  • 0 關注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號