AWK的行循环控制

不想你离开。 提交于 2019-12-23 18:21:37

1.控制函数:next,getline,exit。

next:      该行的action运行到next就停止,读取下一行。

getline:1.没有"<"或“|”的情况下,读取下一行,如果没有把下一行传递给变量(形式:getline tmp),则会改变NR,FNR,$0这些内置变量。

              2.有“<”或“|”的情况下,读取另外的文件,如果没有把读取的文件传递给变量(形式:getline tmp<"data.txt"),则会改变NR,FNR,$0这些内置变量。

exit:     执行到该命令后,退出awk。

2.案例

next:

 

getline:

没有tmp

有tmp

 注解:第一个例子中,没有将getline 传递给其他变量,这时候的$0,FNR,NR是属于下一行的。

第二个例子中,将getline传递给tmp变量,这时候的$0还是属于当前行,但是已经读取了下一行,所以NR,FNR属于下一行的。

 

“<”:没有tmp

注释:第一个$0属于test2,第二个$0属于test

“<”:有tmp

 注释:第一个$0属于test2,第二个$0也属于test2,这是由于test的内容已经由b来掌握。

 

eixt:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!