Chinaunix

标题: 求sed 文本处理问题,急急急! [打印本页]

作者: qiangguodog    时间: 2008-11-26 14:28
标题: 求sed 文本处理问题,急急急!
如何用sed  /grep /awk  实现搜索,将匹配的行与其上一行合并为一行。

谢谢!
例如
一个文件
        123
            aaa_ff
            456
            aaa_feifj
            422
            aaa_ef

实现结果:查找包含aaa的行并与上一行合并为一行,
        aaa_ff 123  
            aaa_feifj 456
            aaa_ef 422


谢谢各位高手!
作者: ynchnluiti    时间: 2008-11-26 14:59
  1. sed -nr '$!N;s/(.*)\n(.*aaa.*)/\2 \1/;P;D;' filename
复制代码

[ 本帖最后由 ynchnluiti 于 2008-11-26 16:17 编辑 ]
作者: ynchnluiti    时间: 2008-11-26 15:07
有没有连续的aaa,例如
aaaxxx
aaa_xxx
作者: moperyblue    时间: 2016-10-07 15:00

  1. sed -r 'N;/aaa/s/\s*(.*)\n\s*(.*)/\2 \1/;P;D'
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2