请问这个getline怎么用
时间:2011-04-26
来源:互联网
[root@freebird ~]# cat a.txt
Tom:111
John:444
Sohu:998
yyy:000
[root@freebird ~]# cat b
BEGIN { FS=":"
}
/^John/ {
while(getline>0)
print $0
print $2
}
我想从a.txt中找到John开头的那行后 ,打印它后面的记录和$2,可是执行的结果
[root@freebird ~]# awk -f b a.txt
Sohu:998
yyy:000
000
我预期的输出应该是
Sohu:998
yyy:000
998
000
John行被输入后,用getline读取下行Sohu:998 此时$0应该是 Sohu:998 $2是998
接读取下行yyy:000 此时$0应该是 yyy:000 $2是000
请问为什么998这个没有打印出呢 ,我的理解错在哪儿了,请大家指点下,谢谢!
Tom:111
John:444
Sohu:998
yyy:000
[root@freebird ~]# cat b
BEGIN { FS=":"
}
/^John/ {
while(getline>0)
print $0
print $2
}
我想从a.txt中找到John开头的那行后 ,打印它后面的记录和$2,可是执行的结果
[root@freebird ~]# awk -f b a.txt
Sohu:998
yyy:000
000
我预期的输出应该是
Sohu:998
yyy:000
998
000
John行被输入后,用getline读取下行Sohu:998 此时$0应该是 Sohu:998 $2是998
接读取下行yyy:000 此时$0应该是 yyy:000 $2是000
请问为什么998这个没有打印出呢 ,我的理解错在哪儿了,请大家指点下,谢谢!
作者: 123freebird 发布时间: 2011-04-26
回复 123freebird
try:
复制代码
你的代码出错的原因是那个分号,/^John/{while (getline) print $0;print $2}
print $2已经不再while 的循环中。
try:
- /^John/{while (getline) print $0,$2}
print $2已经不再while 的循环中。
作者: yinyuemi 发布时间: 2011-04-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28