当前位置: 技术问答>linux和unix
50分请问一个unix下,对文件内数据进行分类统计,十万分急!!
来源: 互联网 发布时间:2015-10-22
本文导语: 题目如下: wenti.txt user1|22|33|55 user1|3|44|4 user2|45|44|65 user2|46|33|55 user2|44|56|66 我想实现根据user的不同进行分类,对最后一列进行累加统计,谢谢了。。 | 用awk 我给你写一个 #!/usr/bin/awk -f BEGIN{FS...
题目如下:
wenti.txt
user1|22|33|55
user1|3|44|4
user2|45|44|65
user2|46|33|55
user2|44|56|66
我想实现根据user的不同进行分类,对最后一列进行累加统计,谢谢了。。
wenti.txt
user1|22|33|55
user1|3|44|4
user2|45|44|65
user2|46|33|55
user2|44|56|66
我想实现根据user的不同进行分类,对最后一列进行累加统计,谢谢了。。
|
用awk
我给你写一个
#!/usr/bin/awk -f
BEGIN{FS="|"}
{
user[$1]+=$4
}
END{
for(i in user)
printf "%s total %dn", i,user[i]
}
我给你写一个
#!/usr/bin/awk -f
BEGIN{FS="|"}
{
user[$1]+=$4
}
END{
for(i in user)
printf "%s total %dn", i,user[i]
}
|
手生了,练练。
#include
#include
main()
{
int i=0;
char name[1000][100];
char *delim="|";
char *user;
int number;
int sum1,sum2;
FILE *log=fopen("wenti","r");
sum1=sum2=0;
while(fgets(name[i],100,log)!=NULL)
{
user=strtok(name[i],delim);
for(i=0;i
#include
#include
main()
{
int i=0;
char name[1000][100];
char *delim="|";
char *user;
int number;
int sum1,sum2;
FILE *log=fopen("wenti","r");
sum1=sum2=0;
while(fgets(name[i],100,log)!=NULL)
{
user=strtok(name[i],delim);
for(i=0;i