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

Chinaunix

標(biāo)題: 如何用最簡單的方法,完成這個求平均值 [打印本頁]

作者: 秋天的絮兒    時間: 2013-08-20 07:58
標(biāo)題: 如何用最簡單的方法,完成這個求平均值
  1. cat file | grep abcd | awk '{sum+=$2}END{print sum/NR}'
復(fù)制代碼
上面的代碼是求grep abcd的第二列的平均值。那么如果file中沒有abcd,則平均值返回0,還如何操作啊?
作者: Shell_HAT    時間: 2013-08-20 08:10
  1. awk '/abcd/{s+=$2}END{print s/NR}' file
復(fù)制代碼

作者: 秋天的絮兒    時間: 2013-08-20 09:14
本帖最后由 秋天的絮兒 于 2013-08-20 09:16 編輯
  1. ssh@cctv[47]:% cat 99
  2. a       1
  3. b       2
  4. c       2
  5. d       4
  6. a       3
  7. ssh@cctv[48]:% awk '/a/{s+=$2}END{print s/NR}' 99
  8. 0.8
復(fù)制代碼
回復(fù) 2# Shell_HAT


其實按照題意我需要得到的答案是  2

NR讀這組數(shù)據(jù)時是讀到最后,5 ,將4/5=0.8.

而我需要得到的是4/2=2.是不是應(yīng)該用 NF

   
作者: 關(guān)陰月飛    時間: 2013-08-20 09:22
回復(fù) 3# 秋天的絮兒
  1. ssh@cctv[47]:% cat 99
  2. a       1
  3. b       2
  4. c       2
  5. d       4
  6. a       3
  7. ssh@cctv[48]:% awk '/a/{s+=$2;n++}END{print s/n}' 99
  8. 2
復(fù)制代碼

作者: 秋天的絮兒    時間: 2013-08-20 09:45
本帖最后由 秋天的絮兒 于 2013-08-20 09:46 編輯

回復(fù) 4# 關(guān)陰月飛


    ssh@cctv[47]:% cat 99
a       1
b       2
c       2
d       4
a       3
ssh@cctv[48]:% awk '/a/{s+=$2;n++}END{print s/n}' 99
2

如果 我需要
  1. awk '/e/{s+=$2;n++}END{print s/n}' 99
復(fù)制代碼
輸出結(jié)果為0.   
?
作者: 關(guān)陰月飛    時間: 2013-08-20 09:56
回復(fù) 5# 秋天的絮兒
  1. awk '/e/{s+=$2;n++}END{if(n)print s/n;else print 0}' file
復(fù)制代碼

作者: 秋天的絮兒    時間: 2013-08-20 10:06
回復(fù) 6# 關(guān)陰月飛

  1. ssh@cctv[125]:% cat 99
  2. 288XH-2 98.24  rvc019_19.00X14.00
  3. 297XH-2 98.43  rvc019_19.33X14.33
  4. 297XH-1 97.43  rvc019_19.33X14.33
  5. 01H-2 99.06  rvc019_19.00X14.00
  6. 39H 97.31  rvc019_19.00X14.00
  7. 88XH-1 98.62 rvc019_19.00X14.00
  8. 7H-2 99.05  rvc019_19.00X14.00
  9. 97XH-1 44.22 rvc019_19.00X14.00
  10. 78H-1 98.92  rvc019_19.00X14.00
  11. 6H-S2 99.30 rvc019_19.00X14.00
  12. ssh@cctv[126]:% cat 99 | awk '/rvc019_19.00X14.00/{s+=$2}END{print s/NF}'
  13. 244.907
復(fù)制代碼
為什么會出現(xiàn)這個結(jié)果啊,按道理應(yīng)該求的平均值啊。
作者: 關(guān)陰月飛    時間: 2013-08-20 10:15
本帖最后由 關(guān)陰月飛 于 2013-08-20 10:16 編輯

回復(fù) 7# 秋天的絮兒

LZ你贏了,我已經(jīng)不知道你想干什么了:
  1. awk '/過濾關(guān)鍵字/{s+=$2;n++}END{if(n)print s/n;else print 0}' file
復(fù)制代碼

作者: 秋天的絮兒    時間: 2013-08-20 10:35
回復(fù) 8# 關(guān)陰月飛


    呵呵,不是,不是,你的回答我已經(jīng)看到了,已經(jīng)達(dá)到目的了。我是說我試7l樓的那個為什么會是那樣的結(jié)果。
作者: 關(guān)陰月飛    時間: 2013-08-20 10:45
本帖最后由 關(guān)陰月飛 于 2013-08-20 10:46 編輯

回復(fù) 9# 秋天的絮兒


NF 記錄的是每一行有多少列

cat 99 | awk '/rvc019_19.00X14.00/{s+=$2}END{print s/NF}'

你這里的NF 是指文件最后一行的列數(shù), 用s/NF得出來的值,和平均值一毛錢關(guān)系都沒有。
作者: dn833    時間: 2013-08-20 11:22
cp工程師也不是那么容易就做得了的。。。。。
作者: 秋天的絮兒    時間: 2013-08-20 17:14
回復(fù) 11# dn833


    謝謝各位大哥的幫助,現(xiàn)在我是菜鳥一只,1年前,我什么都不知道,現(xiàn)在我正在積極學(xué)習(xí)。
作者: jason680    時間: 2013-08-20 17:18
回復(fù) 5# 秋天的絮兒

how about this easy way

# awk  '/a/{n+=$2;c++}END{print c?n/c:0}' file
2

# awk  '/e/{n+=$2;c++}END{print c?n/c:0}' file
0




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