我正在使用 gawk,我想知道是否可以输出脚本的行。我查看了 gawk 的手册并找到了有关自动设置变量__LINE__
的信息,但没有列出任何类似的信息。谢谢
在这里澄清一下,我的意思是 awk 脚本的实际行,而不是我正在阅读的输入。因此,如果我这样做,cat foo | script.awk
我正在寻找 script.awk 中的行号。基本上,如果可能的话,我想在我的脚本中显示发生错误的行号。
不,不是的。如果您需要解决方法的建议,请告诉我们,例如从原始 awk 脚本创建新的 awk 脚本:
$ cat tst.sh
tmp="/usr/tmp/tmp.awk"
trap 'rm -f "$tmp"; exit' 0
> "$tmp"
chmod oug+x "$tmp"
awk '{ sub(/__LINE__/,NR); print }' <<! > "$tmp" && "$tmp"
awk 'BEGIN {
print "this is line", __LINE__
print "this is line", __LINE__
print "this is line", __LINE__
}'
!
$ ./tst.sh
this is line 2
this is line 3
this is line 4