Chinaunix首页 | 论坛 | 博客
  • 博客访问: 207838
  • 博文数量: 87
  • 博客积分: 192
  • 博客等级: 入伍新兵
  • 技术积分: 455
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-14 07:44
文章分类

全部博文(87)

文章存档

2013年(1)

2012年(86)

分类: LINUX

2012-04-14 14:49:20

文本:
  1. 10 11 12 13 14
  2. 15
  3. 16 17 18 19
  4. 20 21
  5. 22 23 24 25
复制代码
1) 每行字段数
  1. awk '{print NF}' file                      
  2. 5
  3. 1
  4. 4
  5. 2
  6. 4
复制代码
2) 最大字段数
  1. awk '{x=x
  2. 5
复制代码
3) 总共字段个数
  1. awk '{x+=NF}END{print x}' file
  2. 16
复制代码
4) 所有字段的总和
  1. awk '{for(i=1;i<=NF;i++)x+=$i}END{print x}' file
  2. 280
复制代码
5) 各行的总和
  1. awk '{x=0;for(i=1;i<=NF;i++){x+=$i};print x}' file
  2. 60
  3. 15
  4. 70
  5. 41
  6. 94
复制代码
6) 各列的总和
  1. awk '{for(i=1;i<=NF;i++)a[i]+=$i}END{l=length(a);for(j=1;j<=l;j++) printf a[j]" ";printf "\n"}' file
  2. 83 72 54 57 14
复制代码
7) 行列交换
  1. awk '{for(i=1;i<=NF;i++)a[NR,i]=$i;x=x
  2. 10 15 16 20 22
  3. 11 17 21 23
  4. 12 18 24
  5. 13 19 25
  6. 14
复制代码
或者以空格补齐空白处
  1. awk '{for(i=1;i<=NF;i++)a[NR,i]=$i;x=x
  2. 10 15 16 20 22 
  3. 11    17 21 23 
  4. 12    18    24 
  5. 13    19    25 
  6. 14   
复制代码
阅读(1397) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~