Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2045116
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-08-06 18:30:02

[] [] [] [] []

侠客




CU编号: 836395
注册:2009-6-10
最后登录: 2009-08-06
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 16:47 

1.0   2.01    3.0
0.2   1.01    6.0
文本如上格式:
求和后的格式为:
1.0   2.01    3.0
0.2   1.01    6.0
--------
1.2    3.02    9.0
awk怎么写?

当列数不确定时如何处理?
格式如下:
1.0   2.01    3.0
0.2   1.01    6.0   9.0
2.3   3.09    5.0   6.3
5      55       2.5  
2.3   3.01    5.0   0.3     5.01
2.3   88

[ 本帖最后由 javajavaclone 于 2009-8-6 17:51 编辑 ]



您对本贴的看法:
| | |
  帅哥 (黑哥)
法师



CU编号: 631768
注册:2007-10-22
最后登录: 2009-08-06
帖子:
精华:0







来自:小山村
状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 16:50 

回复 #1 javajavaclone 的帖子

awk '...END{printf '--------------\n...'..'



您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| | |
  帅哥
新手
求知




CU编号: 2186322
注册:2009-7-24
最后登录: 2009-08-06
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 16:52 

看错了。。
>more bb.txt
1.0 2.01 3.0
0.2 1.01 6.0
>awk '{count1+=$1;count2+=$2;count3+=$3;print$0}END{printf "--------------\n";print$0}' bb.txt
1.0 2.01 3.0
0.2 1.01 6.0
--------------
0.2 1.01 6.0

[ 本帖最后由 wwmstone 于 2009-8-6 16:56 编辑 ]



您对本贴的看法:
| | |

精灵



CU编号: 777461
注册:2008-10-26
最后登录: 2009-08-06
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 17:10 



QUOTE:
原帖由 wwmstone 于 2009-8-6 16:52 发表
看错了。。
>more bb.txt
1.0 2.01 3.0
0.2 1.01 6.0
>awk '{count1+=$1;count2+=$2;count3+=$3;print$0}END{printf "--------------\n";print$0}' bb.txt
1.0 2.01 3.0
0.2 1.01 6.0
--------------
...

能否修改一下,可能有大于3个字段,或者每一记录的字段数都不一样



您对本贴的看法:
| | |
  帅哥
风云使者




CU编号: 690903
注册:2008-4-13
最后登录: 2009-08-06
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]       顶部
发表于 2009-8-6 17:21 

回复 #1 javajavaclone 的帖子

awk '{a+=$1;b+=$2;c+=$3;print}END{printf "-----------------\n";printf "%-f %-f %-f\n",a,b,c }' u



您对本贴的看法:
| | |

精灵




CU编号: 1127759
注册:2009-3-16
最后登录: 2009-08-06
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 17:29 

gawk '{ sum1 += $1;sum2 += $2;sum3 += $3 }; END { print sum1, sum2, sum3 }' file



您对本贴的看法:
| | |
  帅哥
天使



CU编号: 75493
注册:2003-7-25
最后登录: 2009-08-06
帖子:
精华:0







来自:Hangzhou
状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 17:30 

回复 #4 baoyu05 的帖子

试试这个:

CODE:
awk '{if(NF>x)x=NF;print;for(i=1;i<=NF;i++)sum[i]+=$i}END{printf "----------------------------\n";for(j=1;j<=x;j++)printf sum[j]"   ";printf "\n"}' urfile

[ 本帖最后由 Minsic 于 2009-8-6 17:31 编辑 ]



您对本贴的看法:
| | |

精灵



CU编号: 777461
注册:2008-10-26
最后登录: 2009-08-06
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 17:46 



QUOTE:
原帖由 Minsic 于 2009-8-6 17:30 发表
试试这个:

awk '{if(NF>x)x=NF;print;for(i=1;i

awk '{for(i=1;i<=NF;i++)a+=$i;if(NF>max)max=NF;if(length()>leng)leng=length(); print}END{for(i=1;i<=leng;i++){printf "-"};print "";for(j=1;j<=max;j++){printf a[j]" "};print ""}'



您对本贴的看法:
| | |
  帅哥
新手
求知




CU编号: 2186322
注册:2009-7-24
最后登录: 2009-08-06
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-8-6 18:16 

#!/bin/bash
awk '
{
for(i=1;i<=NF;i++)
arr+=$i;
print $0
}
END{
printf "-----------\n";
for(j=1;j<=NF;j++)
printf("%s ", arr[j]);
printf("\n");
}' file



您对本贴的看法:
| | |

» » »

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