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

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

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: LINUX

2012-04-26 21:38:19

cat file 
A  2  3  5  0
B  2  3  6  0
C  2  3  6  0


按第一个前缀把后面的内容拆分为多行:
A  2
A  3
A  5
A  0
B  2
B  3
B  6
B  0
C  2
C  3
C  6
C  0





  1. sed -nr 's/(\w+)(\s+\w+)/\1\2\n\1/;T;P;D' file
[解析]
这个思路太棒了,把标签和后面的替换成要的格式,然后用P;D组合打印第一行,再删除第一行。






  1. awk '{for(i=2;i<=NF;i++)print $1,$i}' file
[解析]
用awk其实简单很多,for循环遍历字段就行了。



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