Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13095
  • 博文数量: 5
  • 博客积分: 146
  • 博客等级: 入伍新兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-31 18:06
文章分类

全部博文(5)

文章存档

2012年(5)

我的朋友
最近访客

分类: LINUX

2012-09-10 16:43:50

自从上个号丢了 就不怎么来cu了,今天看到个好玩的题目,发现现在手越来越残了,都快不会写了:
品牌     产品编号     价格
A           001             10
A           002             20
A           003             30
B           004             40
B           005             50
C           006             60
C           007             70
需要得到如下结果
A产品编号   A价格       B产品编号    B价格        C产品编号     C价格
001             10             004             40             006             60
002             20             005             50             007             70
003             30



点击(此处)折叠或打开

  1. awk 'NR==1{k=$2;y=$3}NR>=2{a=b[$1]++;c[a]=c[a]$2"\t "$3"\t\t"}END{for(m in b)printf m k" "m y"\t";print "";for(i in c) print c[i]}' file

这题目,主要考察怎么去构造数据,只要能够想到利用b[A]++、b[B]++、b[C]++ 这个构造数组下标就成功了99%,剩下的1%就是无尽的格式化
阅读(695) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:awk 简单实用一则

给主人留下些什么吧!~~