【发布时间】:2019-08-29 23:34:59
【问题描述】:
尝试使用 subprocess.Popen 处理 p4 文件,然后通过 subprocess.Popen 再次将该输出传递给 awk。输入将采用以下形式: //xxx/xx/xx/xx/xx/xx.xx#99 - 编辑更改xxxxxxx (text+k)
在此处将原始名称替换为“x”,因为它都是专有信息。想根据“-”(空格连字符)进行拆分并获取带有修订号的文件名。
awk_cmd = ["awk","-F\' -\'","\'{print $1}\'"]
awk_cmd_output = subprocess.Popen(awk_cmd, stdout=subprocess.PIPE, stdin = p4_files_output.stdout)
看到这个错误来自 awk: awk: 语法错误上下文是:
' -''
当我在 cmd awk -F' -' '{print $1}' 中运行相同的命令时,它工作正常。似乎 awk 最后得到了一个额外的单引号。理想情况下应该是“-”而不是“-”。
【问题讨论】:
-
只需删除打印命令的引号:
awk_cmd = ["awk","-F' -'","{print $1}"]
标签: python awk subprocess