Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3031768
  • 博文数量: 272
  • 博客积分: 5544
  • 博客等级: 大校
  • 技术积分: 5496
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 00:48
个人简介

  每个人都要有一个骨灰级的爱好,不为金钱,而纯粹是为了在这个领域享受追寻真理的快乐。

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: LINUX

2012-04-20 10:49:05

今天有个网友问个小问题,还蛮有意思:
seq 8
1
2
3
4
5
6
7
8

得到这种格式:
2
3
4
1
6
7
8
5





  1. seq 8 | sed -n 'h;n;:1 N;/\(\n\w*\)\{2\}$/!b1;G;p'
[解析]
第一行拷贝进 hold space里,然后 n 下一行,开始 N 跳转循环读取内容,直到读取3行,G 把hold space里的内容追加在行后,打印。






  1. seq 8 | sed '1~4{h;d};0~4G'
[解析]
利用 sed 的 first~step 地址匹配,1~4 就是从第一行开始每到第四行,也就是 1 和 5 把这行内容 h 拷贝进hold space里,0~4 就是从每第四行,把 hold space 里的内容 G 追加在后面。




阅读(3293) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

zzy71862012-04-26 16:58:33

学习了 大哥