首页 > 其他 > 详细

awk多行记录

时间:2015-05-15 21:24:17      阅读:278      评论:0      收藏:0      [点我收藏+]

到目前为止,本教程用作例子的所有数据文件中,每条记录都自成一行。而在下面这个名为checkbook的示例数据文件中,记录之间用空行分隔,同一记录的字段之间则用换行符分隔。要处理这个文件,就必须将记录分隔符(RS)设为空值,而把字段分隔符(FS)设为换行符。

cat checkbook
1/1/04
#125
-695.00
Mortgage

1/1/04
#126
-56.89
PG&E
1/2/04
#127
-89.99
Safeway

1/3/04
+750.00
Paycheck

1/4/04
#128
-60.00
Visa

cat awkchecker
BEGIN{RS=""; FS="\n"; ORS="\n\n"}
{print NR,$1,$2,$3,$4}

$ awk -f awkchecker checkbook
1 1/1/04 #125 -695.00 Mortgage

2 1/1/04 #126 -56.89 PG&E

3 1/2/04 #127 -89.99 Safeway

4 1/3/04 +750.00 Paycheck

5 1/4/04 #128 -60.00 Visa

说明
1.在BEGIN块中,记录分隔符(RS)被赋值为空,字段分隔符(FS)被设为换行符,输出记录分隔符(ORS)则被设置为两个换行符。于是,每一行都是一个字段,且输出记录之间有两个换行符将其分隔。
2.打印记录号,后跟记录的每个字段。

参考资料:http://www.linuxawk.com/jiaocheng/332.html

awk多行记录

原文:http://blog.csdn.net/xiyangyang052/article/details/45749331

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!