python - 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
有没有人遇到过这个问题?
解决方案
我建议您正在寻找:
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(' ')
推荐阅读
- java - java actionListener:在单独的线程中检索 TextField
- c# - 意外删除 .nuget 文件夹
- c - 发送到:无效参数错误
- python - 无法在 anaconda 中导入库
- java - 尽管“不应依赖”,但 Object#finalize() 是否有任何适当的用途?
- javascript - 异步/等待未按预期顺序执行
- hadoop - tHiveCreateTable 组件给出“org.apache.hive.service.cli.HiveSQLException”异常
- java - 在不同时间多次将相同的对象添加到 TableView 中
- gradle - 使用 gradle kotlin dsl 执行 JavaExec 任务
- c++ - 检查抽象元素列表是否包含 C++ 中某个派生类型的元素?