getline
读入下一行并将NR
计数器加 1。使用 后getline
,awk
恢复下一行的工作。在大多数情况下,这是所需的行为。
在我的特殊情况下,我只需要查看下一行并根据其内容阅读下一行,或者我需要回溯一行。
我怎样才能回溯一行awk
?我尝试NR
手动将计数器设置为,NR=NR-1
但这不起作用。或者有没有一种方法只看下一行而不改变NR
?
我需要一条线的前瞻。在这种情况下,简单地将行保存在变量中并稍后引用它是行不通的。我正在尝试在其中实现一个识字编程工具awk
,其中一个主文件可能包含许多子文件。这样的子文件以类似"% file:file1"
. 如果到达具有较低缩进的行或具有类似行的另一行,则到达此类文件的末尾"% file:file2"
。
/% file:/
当我已经用 getline 阅读了这一行时,不使用所有行匹配的规则集。这就是为什么我想重置NR
到上一行,然后awk
再次读取匹配的行/% file:/
并执行适当的规则。