Chinaunix
标题:
【请问】awk中RT的用法
[打印本页]
作者:
10230457
时间:
2009-07-02 10:34
标题:
【请问】awk中RT的用法
现有文本内容如下:
hahaha
helloworld
hahaha
welcome to the world
hahaha
helloworld
对它分别运行命令:
1. awk 'BEGIN{RS="hahaha\\n"}/^hello/{print RT}' filename
输出为:
hahaha
2. awk 'BEGIN{RS="hahaha\\n"}/^hello/{print s}{s=RT}' filename
输出为:
hahaha
hahaha
我看了一下awk user's guide上面对RT的解释,但是还是不太理解。为什么上面命令1和命令2的输出会产生这样的差别啊?我查了一下资料,RT的使用似乎命令2的用法更常见,请帮我把命令2中{print s}{s=RT}讲解一下,我是新手,麻烦大家了,谢谢。
作者:
blackold
时间:
2009-07-02 10:45
标题:
回复 #1 10230457 的帖子
第一个命令输出的是当前记录RT, 第二命令输出的是前一记录RT。
作者:
jakepain
时间:
2009-07-02 11:11
标题:
回复 #2 blackold 的帖子
今天才知道有RT
有点不明白
最后一行的RT"\n",RS不是已经设置"hahaha\\n"了吗?
黑哥有空解释一下
谢谢
作者:
blackold
时间:
2009-07-02 11:23
标题:
回复 #3 jakepain 的帖子
在确定记录的终止后gawk才设置RT。
RT是gawk扩展。
[
本帖最后由 blackold 于 2009-7-2 11:43 编辑
]
作者:
ztj2247
时间:
2010-06-18 15:52
第一个命令输出的是当前记录RT, 第二命令输出的是前一记录RT。
blackold 发表于 2009-07-02 10:45
{s=RT}这个方法绝了啊 黑哥真牛
作者:
laohuanggua
时间:
2010-06-19 07:42
马克一下
作者:
expert1
时间:
2010-08-19 10:08
http://bbs.chinaunix.net/viewthread.php?tid=1496425
学习下RT用法
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2