当前位置: > shell编程 >

使用sed和awk分别处理文本的双行模式

时间:2014-09-10 21:50来源:linux.it.net.cn 作者:it

使用sed和awk分别处理文本的双行模式。

文本内容:
140203196407011616
140203000108058
140203198809161616
140203000108058
要求结果如下:
140203196407011616,140203000108058
140203198809161616,140203000108058

首先,看下sed代码,sed中的N操作可以追加下一行到模式空间:
[root@station1 ]# cat data
140203196407011616
140203000108058
140203198809161616
140203000108058
[root@station1 ]# sed -e 'N;s/n/,/' data
140203196407011616,140203000108058
140203198809161616,140203000108058

接着来看下awk代码,awk中的没有类似于sed中的N的操作,就是next命令。next操作能够跳过剩余代码的执行,直接执行下一行的操作:
[root@station1 ]# cat data
140203196407011616
140203000108058
140203198809161616
140203000108058

[root@station1 ]# awk 'NR%2==0{print tmp","$0;next}{tmp=$0}' data
140203196407011616,140203000108058
140203198809161616,140203000108058

 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容