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

Chinaunix

標(biāo)題: 請(qǐng)教這類文本怎么做判斷求和 [打印本頁(yè)]

作者: alunfirst    時(shí)間: 2015-12-05 17:39
標(biāo)題: 請(qǐng)教這類文本怎么做判斷求和
x|2015-10-23|王五
x|2015-10-22|張三
x|2015-10-21|張三
x|2015-10-20|張三
x|2015-10-19|王五
x|2015-10-16|李四|9
x|2015-10-15|李四|8
x|2015-10-14|李四|1
x|2015-10-13|李四|0
x|2015-10-12|張三
x|2015-10-09|李四|3
x|2015-10-08|李四|9
x|2015-09-30|李四|8
x|2015-07-08|1
x|2015-07-07|1
x|2015-07-06|1
x|2015-07-03|2
x|2015-07-02|1
x|2015-07-01|3

第一行是的第三列是(張三、李四、王五)任意中的一個(gè),則判斷第二行,第二行是(張三、李四、王五)任意中的一個(gè)繼續(xù)判斷下一行,依次類推,直到其中一行不是他們?nèi)齻(gè)其中一個(gè)停止,得出出現(xiàn)張三的次數(shù)是4,李四的次數(shù)是7,王五的次數(shù)是2
作者: dn833    時(shí)間: 2015-12-05 18:01
  1. awk -F \| '/張三|李四|王五/{a[$3]++}END{for(i in a)print i,a[i]}'
復(fù)制代碼

作者: alunfirst    時(shí)間: 2015-12-05 18:30
dn833 發(fā)表于 2015-12-05 18:01

這是統(tǒng)計(jì)全部的,我想如果下一行不符合就直接退出
作者: haooooaaa    時(shí)間: 2015-12-05 18:50
  1. awk -F \| '{if(/張三|李四|王五/){a[$3]++}else{for(i in a)print i,a[i];exit}}' file
復(fù)制代碼

作者: Herowinter    時(shí)間: 2015-12-05 18:50
回復(fù) 1# alunfirst

輸出順序沒(méi)要求的話
  1. awk -F\| '$3=="張三"||$3=="李四"||$3=="王五"{a[$3]++;next} {for(i in a)print i,a[i];exit}' urfile
復(fù)制代碼

作者: alunfirst    時(shí)間: 2015-12-05 19:50
都不可以啊,因?yàn)槲蚁旅孢有李四的
作者: alunfirst    時(shí)間: 2015-12-05 19:53
x|2015-10-23|王五
x|2015-10-22|張三
x|2015-10-21|張三
x|2015-10-20|張三
x|2015-10-19|王五
x|2015-10-16|李四|9
x|2015-10-15|李四|8
x|2015-10-14|李四|1
x|2015-10-13|李四|0
x|2015-10-12|張三
x|2015-10-09|李四|3
x|2015-10-08|李四|9
x|2015-09-30|李四|8
x|2015-07-08|1
x|2015-07-07|1
x|2015-07-06|1
x|2015-07-03|2
x|2015-07-02|1
x|2015-07-01|3
x|2015-10-09|李四|3
x|2015-10-08|李四|9
x|2015-09-30|李四|8
作者: Herowinter    時(shí)間: 2015-12-05 20:17
回復(fù) 7# alunfirst

針對(duì)這個(gè)文本,你期望的輸出結(jié)果是什么?
   
作者: klainogn    時(shí)間: 2015-12-05 20:57
  1. awk 'NR==FNR{a[$1]=0;next}$3 in a{a[$3]++;next}{exit}END{for(i in a)print i, a[i]}' name.lst file.dat
復(fù)制代碼
name.lst配置要統(tǒng)計(jì)的名單
file.dat數(shù)據(jù)文件
作者: jcdiy0601    時(shí)間: 2015-12-08 09:19
本帖最后由 jcdiy0601 于 2015-12-08 09:24 編輯

感覺(jué)你可能是這個(gè)意思吧?
x|2015-10-23|王五
x|2015-10-22|張三
x|2015-10-21|張三
x|2015-10-20|張三
x|2015-10-19|王五
x|2015-10-16|李四|9
x|2015-10-15|李四|8
x|2015-10-14|李四|1
x|2015-10-13|李四|0
x|2015-10-12|張三
x|2015-10-09|李四|3
x|2015-10-08|李四|9
x|2015-09-30|李四|8
x|2015-07-08|1
x|2015-07-07|1
x|2015-07-06|1
x|2015-07-03|2
x|2015-07-02|1
x|2015-07-01|3
x|2015-10-09|李四|3
x|2015-10-08|李四|9
x|2015-09-30|李四|8

  1. #!/bin/bash

  2. file='test'
  3. num1=0
  4. num2=0
  5. num3=0
  6. while read line
  7. do
  8.         p=`echo $line|awk -F "|" '{print $3}'`
  9.         if [ $p == '張三' ];then
  10.                 let num1+=1
  11.         elif [ $p == '李四' ];then
  12.                 let num2+=1
  13.         elif [ $p == '王五' ];then
  14.                 let num3+=1
  15.         else
  16.                 break
  17.         fi
  18. done < $file

  19. echo '張三:' $num1
  20. echo '李四:' $num2
  21. echo '王五:' $num3
復(fù)制代碼





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