免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2417 | 回复: 11

shell请教 [复制链接]

论坛徽章:
0
发表于 2009-10-31 15:19 |显示全部楼层
需求:
移动文件内容的指定行 到其他行之后

例如:
[root@svn ~]# cat 12321.txt
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
复制代码


需要的效果:
  1. 1
  2. 2
  3. 3
  4. 6
  5. 7
  6. 4
  7. 5
  8. 8
复制代码


把6、7两行移动到3行的后面

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2009-10-31 15:49 |显示全部楼层
  1. sed '4{N;h;d};6{N;G}' urfile
复制代码

论坛徽章:
0
发表于 2009-10-31 15:54 |显示全部楼层

回复 #2 blackold 的帖子

黑哥解释下吧
我怎么去灵活运用
就是行数行号变的情况

论坛徽章:
0
发表于 2009-10-31 19:35 |显示全部楼层

  1. sed '4{N;h;d};7G'
复制代码


回复 #3 gyl4802959 的帖子
是不是不能确定4和5的位置?

  1. sed '/4/{h;d};/5/{H;d};/7/G'
复制代码

[ 本帖最后由 haimming 于 2009-10-31 19:53 编辑 ]

论坛徽章:
0
发表于 2009-10-31 20:48 |显示全部楼层
学习了哈哈哈

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2009-10-31 20:48 |显示全部楼层
如果文件不太,用ed比较方便。

论坛徽章:
0
发表于 2009-10-31 22:40 |显示全部楼层

回复 #6 blackold 的帖子

ed效率更高吗?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2009-10-31 22:43 |显示全部楼层

回复 #7 haimming 的帖子

打错了:如果文件不大……

ed比较适合干这活。大文件就吃不消了。

论坛徽章:
0
发表于 2009-10-31 23:10 |显示全部楼层
sed和awk也是基于ed的,不过ed还不会,上次有个例子感觉效率一般

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2009-10-31 23:16 |显示全部楼层

回复 #9 haimming 的帖子

这句话是不是有些矛盾啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP