一个朋友问怎样统计一个文本文档里指定字符串的个数。我本能的想到用while read LINE,写了个脚本,如下

 

  1. #!/bin/bash 
  2. COUNT=0 
  3. f=0 
  4. while read LINE;do 
  5.   echo $LINE > b.tmp 
  6.   while [ $f -eq 0 ] ;do 
  7.    cat b.tmp | grep -w 'google' &> /dev/null 
  8.     if [ $? -eq 0 ];then 
  9.         sed -i 's/google//1' b.tmp 
  10.         ((COUNT++)) 
  11.     else 
  12.         f=1 
  13.     fi 
  14.  done 
  15.  f=0 
  16. done < b.txt 
  17. echo "$COUNT google" 

b.txt如下

  1. google shdlf sha; google saf goole 
  2. google shdlf sha; google saf goole 
  3. google shdlf sha; google saf goole 
  4. google shdlf sha; google saf goole 
  5. google shdlf sha; google saf goole 
  6. google shdlf sha; google saf goole 
  7. google shdlf sha; google saf goole 
  8. google shdlf sha; google saf goole 
  9. google shdlf sha; google saf goole 
  10. google shdlf sha; google saf goole 

试之

 

  1. ./cc.sh  
  2. 20 google 

还没来的及高兴,朋友发来

  1. cat b.txt |grep -o 'google'|sort|uniq -c 

顿时傻眼,继而被笑道:“你应该做个开发人员”。

开发人员,开发人员。。。。