【发布时间】:2016-10-11 14:57:33
【问题描述】:
我尝试在我的 python 脚本中调用一个 awk 脚本。我使用 subprocess.Popen():
awk -F"\t" 'NR<5{ print "SET", "\""$1"\"", "\""$2"|"$3"|"$4"\"" }' folder/file.tsv
这是脚本:
import os
import subprocess
goal_dir = os.path.join(os.getcwd(), "folder", "file.tsv")
args = ["awk", '-F"\t"', 'NR<5{ print "SET", "\""$1"\"", "\""$2"|"$3"|"$4"\"" }', "{0}".format(goal_dir)]
process = subprocess.Popen(args, stdout=subprocess.PIPE)
output = process.communicate()[0]
但它似乎没有正确地转义文字。
【问题讨论】:
-
您的意思是
NF<5而不是NR<5? -
@HaiVu 不,NR 是记录号。