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