+ -
当前位置:首页 → 问答吧 → 请教一个合并行的问题

请教一个合并行的问题

时间:2011-02-18

来源:互联网

本帖最后由 hxre 于 2011-02-18 16:32 编辑

文本中大部分是以\n,但有部分是^M换行的,需求是将^M换行的,和下一行合并起来

aaa bbb ccc
ccc   dd^M
111 222 333
44 55 66^M
77^M
^M
88 99  

合并行后格式如下:
aaa bbb ccc
ccc   dd 111 222 333
44 55 66 77 88 99

不知道应该如何实现?我用awk的时候定位不到末位^M的行..请各位指教

作者: hxre   发布时间: 2011-02-18

sed -n '/^M/{N;s/^M\n//g;};p'

注意^M由ctrl+v+m输入

作者: igi-cu   发布时间: 2011-02-18



QUOTE:
sed -n '/^M/{N;s/^M\n//g;};p'

注意^M由ctrl+v+m输入
igi-cu 发表于 2011-02-18 16:40




  多谢,不过好像只能做到合并两行,即只能合并第一个有^M的行和下面行,如果联系三行都有的话,最后一行还是合并不上...不过再执行一遍合并一次也可以实现,:-)

作者: hxre   发布时间: 2011-02-18

awk '1' RS="^M" ORS= file

^M的输入同LS一样

作者: yinyuemi   发布时间: 2011-02-18



QUOTE:
awk '1' RS="^M" ORS= file

^M的输入同LS一样
yinyuemi 发表于 2011-02-18 16:50




只是去掉^M了,没有合并下行:lol:

作者: hxre   发布时间: 2011-02-18

perl -pe 's/\^M\n/ /' file

作者: ziyunfei   发布时间: 2011-02-18

回复 hxre


    sed -r ':a;/^M/N;s/^M\n/ /;ta'

作者: wtuter   发布时间: 2011-02-18

热门下载

更多