这是我的Python代码:
with open('a') as f:
a, b = f
a, b = a.strip(), b.strip()
虽然这是我的AWK代码:
awk '{printf $1":"}' a
我想修改我的AWK代码,以便它可以完全执行上面的Python代码。
如上所示,AWK代码很乱。
我需要它从文件a
中抓取第1行和第2行并允许我这样做
使用那些变量。就像在Python代码中一样。
或许还有其他一些原生于Linux的东西?
我应该研究一下?
如果我没弄错的话,有:
但最快的是AWK。
答案 0 :(得分:3)
我希望您的Python代码具有良好的错误/异常处理,以防文件a
有两行以上。
我假设您的文件只有两行,然后您可以在AWK中执行:
awk '{a[NR]=$0}END{ #here you could do whatever with a[1] (a) and a[2] (b)}' file
例如:
kent$ seq 2|awk '{a[NR]=$0}END{print "hello "a[1]; print "hi "a[2]}'
hello 1
hi 2
或者这个:
kent$ seq 2|awk '{a[NR]=$0}END{printf "%s:%s\n",a[1],a[2]}'
1:2
我希望这会有所帮助。