-2

这是我的 Python 代码:

with open('a') as f:
    a, b = f
    a, b = a.strip(), b.strip()

虽然这是我的 AWK 代码:

awk '{printf $1":"}' a

我想修改我的 AWK 代码,以便它可以完全按照上面的 Python 代码执行。

如上所示,AWK 代码是一团糟。

我需要它从文件中获取第 1 行和第 2 行a并允许我使用这些变量。就像在 Python 代码中一样。

或者也许还有其他东西是 Linux 原生的?

我应该调查一下?

如果我没记错的话,有:

但最快的是AWK。

4

1 回答 1

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

我希望这有帮助。

于 2013-08-19T20:21:09.670 回答