linux 中 awk语句 getline 和 enxt的区别

 

001、

复制代码
[root@PC1 test]# cat -A a                                           ## 测试文本
1 2$
3 4$
5 6$
7 8$
[root@PC1 test]# awk '{print "$1="$1; getline; print "$2="$2}' a      ## getline 会读入下一行,并对下一行按照awk内置变量规则赋值
$1=1
$2=4
$1=5
$2=8
[root@PC1 test]# awk '{print "$1="$1; next; print "$2="$2}' a         ## next就是结束当前行的处理,相当于结束最外层的行循环
$1=1
$1=3
$1=5
$1=7
复制代码

。 

 

 

复制代码
[root@PC1 test]# cat -A b
1 2$
3 4$
5 6$
[root@PC1 test]# awk '{print "$1="$1;getline;print "$2="$2}' b     ## 当程序进入第三行时,首先输出$1 = 5, 此时getline读取下一行,但是没有第四行,此时,$2变量仍然是第三行的$2字段
$1=1
$2=4
$1=5
$2=6
[root@PC1 test]# awk '{print "$1="$1;next;print "$2="$2}' b        ## next结束外层循环
$1=1
$1=3
$1=5
复制代码

 

 

source:

01、https://blog.csdn.net/weixin_34218890/article/details/93042607

 

posted @   小鲨鱼2018  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-10-27 python 脚本统计fasta文件每条scaffold的碱基长度
2022-10-27 linux 中 shell 统计每条scaffold的长度
2022-10-27 linux 中 wc -c命令
2022-10-27 linux 系统中如何判断字符串是否相同
2021-10-27 R语言中%*%运算符
2021-10-27 windows中如何查看端口占用情况、端口是否开启
2021-10-27 R语言中setdiff、intersect、union函数
点击右上角即可分享
微信分享提示