我有以下一段代码:
#!/usr/bin/python
import os, sys, subprocess
yy = 22
filename = "master%d.txt" %yy
print(filename)
outlistx = "listx"
def awkfst(inname, yy, outname):
cmd = '''awk -F "|" "$2 ~ /R1/ {print '${%d}'$4"XA"} "''' + inname + " >> " + outname %yy
os.system(cmd)
return
awkfst(filename, 22, outlistx)
输入文件具有以下方面:
|IVS-R11032|R11032|JAN03| 3|17:00|24|HtIsKvMaNsNtNyOnSaWzYg -Ag |NASA|BONN|22JAN18|1.0 | XA |NASA| 14 |5257|
我想要一个名为listx的文件,其中的行如下:
22JAN03XA
原始awk命令行:
awk -F "|" '$2 ~ /R1/ { print '${y2d}'$4"XA" }' master$y2d >> listx
工作正常.
但是当运行python脚本时,我得到了以下链接到我的函数awkfst的错误: "TypeError:在字符串格式化过程中未转换所有参数"
我对python真的很陌生,想把我的bash脚本移到python中,但不知道如何解析它们之间的一些信息.