首页 > 解决方案 > Python子进程中的Awk不起作用

问题描述

我正在尝试运行:

p3 = subprocess.Popen('awk \'{ print $6 "\t" $1 "\t" $2 "\t" $3 "\t" $4 "\t" $5 }\''.split(' '), stdin=p3.stdout, stdout=f)

但收到错误:

awk: syntax error at source line 1
 context is
     >>> ' <<< 
    missing }
awk: bailing out at source line 1

有没有人遇到过这个问题?

标签: pythonawksubprocess

解决方案


我建议您正在寻找:

cmd = ['awk', '-v', 'OFS="\t"', '{print $6, $1, $2, $3, $4, $5}']
p = subprocess.Popen(cmd, stdin=[what are you reading from?], stdout=subprocess.PIPE)
result = p.stdout.read().split(' ')

推荐阅读