亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 另類平均值求法 [打印本頁(yè)]

作者: 秋天的絮兒    時(shí)間: 2014-04-27 14:36
標(biāo)題: 另類平均值求法
本帖最后由 秋天的絮兒 于 2014-04-27 14:37 編輯

Dear:
第7行連續(xù)相同的話,求該連續(xù)行第三列的平均值并寫在列的最后。



------------------------------------------------------------------
源文件:
  1. a       b       3       q       e       w       aaa
  2. a       b       4       q       e       w       bbb
  3. a       b       5       q       e       w       bbb
  4. a       b       5       q       e       w       ccc
  5. a       b       5       q       e       w       ccc
  6. a       b       4       q       e       w       aaa
  7. a       b       8       q       e       w       aaa
  8. a       b       2       q       e       w       ccc
  9. a       b       5       q       e       w       ccc
復(fù)制代碼
目標(biāo)文件:
  1. a        b        3        q        e        w        aaa        3
  2. a        b        4        q        e        w        bbb        4.5
  3. a        b        5        q        e        w        bbb        4.5
  4. a        b        5        q        e        w        ccc        5
  5. a        b        5        q        e        w        ccc        5
  6. a        b        4        q        e        w        aaa        6
  7. a        b        8        q        e        w        aaa        6
  8. a        b        2        q        e        w        ccc        3.5
  9. a        b        5        q        e        w        ccc        3.5
復(fù)制代碼

作者: yestreenstars    時(shí)間: 2014-04-27 17:25
  1. #!/usr/bin/awk -f
  2. {
  3.         a[NR]=$0
  4.         b[NR]=$3
  5.         c[NR]=$7
  6. }
  7. END{
  8.         for(i=0;i++<NR;){
  9.                 if(c[i+1]==c[i]){
  10.                         j=i
  11.                         sum=b[j]
  12.                         while(c[j+1]==c[j]){
  13.                                 sum+=b[j+1]
  14.                                 j++
  15.                         }
  16.                         avg=sum/(j-i+1)
  17.                         while(i<=j){
  18.                                 print a[i]"\t"avg
  19.                                 i++
  20.                         }
  21.                         i=j
  22.                 }else{
  23.                         print a[i]"\t"b[i]
  24.                 }
  25.         }
  26. }
復(fù)制代碼

作者: blackold    時(shí)間: 2014-04-27 23:33
  1. $ awk 'NR==FNR{if($7!=p){if(NR!=1)a[np]=s/c;np=NR;s=$3;c=1}else {s+=$3;c++};p=$7;next}FNR==1{a[np]=s/c}{if(a[FNR]) p=a[FNR];print $0,p}' urfile urfile
復(fù)制代碼

作者: 秋天的絮兒    時(shí)間: 2014-04-28 08:51
回復(fù) 3# blackold


    膜拜黑哥。
作者: 秋天的絮兒    時(shí)間: 2014-04-28 08:51
回復(fù) 2# yestreenstars


    謝謝,可以使用
作者: ly5066113    時(shí)間: 2014-04-28 09:54
  1. awk '$NF!=v{i++}FNR==1{i=1}{k=$NF""i}NR==FNR{c[k]++;s[k]+=$3}NR>FNR{print $0,s[k]/c[k]}{v=$NF}' file file
復(fù)制代碼

作者: hujysh    時(shí)間: 2014-04-28 10:34
都很牛,答案都出來(lái)了,我承認(rèn)題目都沒有看懂
作者: rulebook    時(shí)間: 2014-04-28 10:36
  1. awk 'NR>1&&$7!=c{for(i=1;i<=x;i++)print d[i]"\t"a/b;a=0;b=0;x=0}{a=a+$3;b++;c=$7;x++;d[x]=$0}END{for(i=1;i<=x;i++)print d[i]"\t"a/b}' a.txt
復(fù)制代碼

作者: cao627    時(shí)間: 2014-04-28 12:21
  1. $ echo | awk 'NR>1&&$7!=c||NR!=FNR{for(i=1;i<=x;i++)print d[i]"\t"a/b;a=0;b=0;x=0}{a=a+$3;b++;c=$7;x++;d[x]=$0}'  a.txt  -
復(fù)制代碼

作者: jason680    時(shí)間: 2014-04-28 15:26
回復(fù) 1# 秋天的絮兒

How about this way with read FILE one times only

$ awk 'function out(){for(n=1;n<=c;n++)print a[n]"\t"s/c;s=c=0}{if(S7!=$7)out();s+=$3;a[++c]=$0;S7=$7}END{out()}' FILE
a       b       3       q       e       w       aaa        3
a       b       4       q       e       w       bbb        4.5
a       b       5       q       e       w       bbb        4.5
a       b       5       q       e       w       ccc        5
a       b       5       q       e       w       ccc        5
a       b       4       q       e       w       aaa        6
a       b       8       q       e       w       aaa        6
a       b       2       q       e       w       ccc        3.5
a       b       5       q       e       w       ccc        3.5

   




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2