码迷,mamicode.com
首页 > 其他好文 > 详细

awk多行记录

时间:2015-05-15 21:26:12      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:awk   awk命令   awk多行记录   

到目前为止,本教程用作例子的所有数据文件中,每条记录都自成一行。而在下面这个名为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多行记录

标签:awk   awk命令   awk多行记录   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!