免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2045 | 回复: 8
打印 上一主题 下一主题

[文本处理] sed交换行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-24 21:59 |只看该作者 |倒序浏览
本帖最后由 squall1 于 2012-11-25 09:00 编辑

我有一个文本

a
1
2
b
3
4
a
5
6
b
7
8

想,转换成,这样

a
3
4
b
1
2
a
7
8
b
5
6

这个实在不会了,谢谢!

我想再补充下,a,b之间的行不确定,这个怎么写呢?


论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
2 [报告]
发表于 2012-11-24 22:37 |只看该作者
回复 1# squall1
  1. sed -n '/a/{p;h;n;N;H};/b/{G;h;n;N;G;s/a\n//p}'
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
3 [报告]
发表于 2012-11-25 00:12 |只看该作者
  1. sed -n ':1;s/a/b/;N;N;h;n;s/b/a/;N;N;G;p;n;b1' file
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
4 [报告]
发表于 2012-11-25 00:19 |只看该作者
  1. sed -n '/a/{p;n;N;h};/b/{G;h;n;N;p;g;p}' file
复制代码

论坛徽章:
0
5 [报告]
发表于 2012-11-25 00:38 |只看该作者
多谢!

论坛徽章:
0
6 [报告]
发表于 2012-11-25 16:24 |只看该作者
回复 3# yestreenstars


    请问: sed语句里面的:1和最后b1是什么意思。不理解。

论坛徽章:
71
15-16赛季CBA联赛之同曦
日期:2018-08-23 15:41:42辰龙
日期:2014-08-15 09:07:43狮子座
日期:2014-06-03 13:55:33亥猪
日期:2014-06-02 11:17:08巨蟹座
日期:2014-05-06 10:02:03午马
日期:2014-05-04 08:18:27亥猪
日期:2014-04-29 11:11:32技术图书徽章
日期:2014-04-24 15:51:26技术图书徽章
日期:2014-04-17 11:01:53辰龙
日期:2014-04-15 12:45:46亥猪
日期:2014-04-11 09:06:23射手座
日期:2014-04-01 15:28:10
7 [报告]
发表于 2012-11-25 17:42 |只看该作者
awk -F"a\n||b\n" -vRS="\n\n" '{print "a\n"$3"b\n"$2"a\n"$5"b\n"$4}'

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
8 [报告]
发表于 2012-11-25 18:05 |只看该作者
回复 6# vic260844


    :1表示设置一个标签1,可替换成其他字母或数字;b1表示返回标签1所在处。

论坛徽章:
0
9 [报告]
发表于 2012-11-26 14:55 |只看该作者
回复 8# yestreenstars


    谢谢,大神,写习了.......
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP