我正在嘗試awk在我的 go 程序中執行一個命令(awk 命令從加利福尼亞郵政編碼的制表符分隔文件中提取指定城市的郵政編碼,在本例中為舊金山):cmd := exec.Command( "awk", "-F", "'\\t'", "'{if ($4 == \"SAN FRANCISCO\") print $0; }'", "zipcodes_ca.txt",)fmt.Println(cmd.Args)var out bytes.Buffervar stderr bytes.Buffercmd.Stdout = &outcmd.Stderr = &stderrerr := cmd.Run()if err != nil { fmt.Println(fmt.Sprint(err) + ": " + stderr.String()) return}這輸出:[awk -F '\t' '{if ($4 == "SAN FRANCISCO") print $0; }' zipcodes_ca.txt]exit status 2: awk: syntax error at source line 1 context is >>> ' <<<awk: bailing out at source line 1如果我從命令中獲取打印的 args 并將其作為命令運行,awk -F '\t' '{if ($4 == "SAN FRANCISCO") print $0; }' zipcodes_ca.txt它就可以工作。但是,通過我的 go 程序運行它似乎有問題。我不確定我在這里做錯了什么。我猜我正在錯誤地逃避事情,但我嘗試的任何事情似乎都不起作用。
- 1 回答
- 0 關注
- 228 瀏覽
添加回答
舉報
0/150
提交
取消