网络书屋(Web Reading Room)

A blogging framework for hackers.

字符串关键字的出现频率统计

有时候我们需要统计一篇论文当中某个字符串的出现频率。 试验了,grep,awk,sed,wc -l等,最终发现awk的RS 完美的解决了问题。

RS的用法 统计次数

关键字文件(可以不断的添加你要分析的字段):

1
2
3
4
5
6
7
8
9
10
11
12
13
风力机
气动力
失谐
偏航
阵风
扭矩
功率
风切变
转速
风速
升力系数
阻力系数
升阻比

短短的几行shell语句解决了问题,优雅。 shell文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash - 
#===============================================================================
#
#          FILE: analysis.sh
# 
#         USAGE: ./analysis.sh 
# 
#   DESCRIPTION: 
# 
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Ye Zhaoliang (), zhaoturkkey@163.com
#  ORGANIZATION: YZL
#       CREATED: 2015年06月14日 01:18
#      REVISION:  ---
#===============================================================================

while read lines
do
    awk -v RS="$lines" 'END{print RS,--NR}' qiu.org #减减表示减1
done < "analysis.data"

搜索内容

  1. grep -n “内容关键字” 文件名路径
  2. awk ‘{if($0~关键字){}}’

等。 3. sed ‘/关键字/p’

结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌─[root][javazhao-N53SM][/paper]
└─➞ sh analysis.sh
风力机 379
气动力 397
失谐 31
偏航 353
阵风 63
扭矩 171
功率 139
风切变 59
转速 172
风速 353
升力系数 27
阻力系数 13
升阻比 2