一个小脚本从小说中过滤出经常出现的人名 
花名获取利器! 
作者:高鹏

小说中,人名后经常跟着一个动词或者介词,根据这一点可以找出常见的人名。下面用一个小shell脚本来玩一下^.^ 脚本如下:

Shell代码  
  1. #!/bin/sh
  2. # name:filter_name.sh
  3. # JH Gao <gaopenghigh@gmail.com>
  4. # function:从小说中过滤出经常出现的人名
  5. # 主要步骤如下:
  6. # 编码转换
  7. # 把动词替换为换行,于是每行的前几个字很可能就是人名,再把空行去除
  8. # 取得每行的前3个字
  9. # 过滤掉一些一般不是名字但又经常出现的字
  10. # 过滤掉一个字的行
  11. # 排序,统计,取前100个
  12. iconv -f GB18030 -t utf-8 $1 \
  13. | sed 's/[、,“”听笑说道想答。!:?]/\n/g' | sed 's/[[:space:]]*//g' | sed '/^$/d' \
  14. | cut -nb 1-9 \
  15. | grep -v -e '^$' -e [:\<\>父今哈咱\"还似转整间没他她它在地低众到却急这就怎最嗷但那是什么都拿曰吃二其每另否两么不了你啊只着突我吧各此又虽便即第嘿忽的忙] -e '其实' -e 'http' -e '……' -e '原来' -e '自己' -e '心想'  -e '终于' -e '当然' -e '微笑' -e '淡淡' -e '们' -e '然后' -e '所以' -e '可以' \
  16. | sed '/^.\{1\}$/d' \
  17. | sort | uniq -c | sort -k 1 -n -r | head -n 100

执行结果如下:

Shell代码  
  1. $ ./filter_name.sh 天龙八部.txt
  2. 596 段誉
  3. 564 慕容复
  4. 532 木婉清
  5. 528 王语嫣
  6. 461 段正淳
  7. 358 鸠摩智
  8. 351 游坦之
  9. 323 南海鳄
  10. 297 阿紫
  11. 293 虚竹
  12. 265 阿朱
  13. 257 保定帝
  14. 249 萧峰
  15. 232 丁春秋
  16. 211 乌老大
  17. 203 马夫人
  18. 174 王夫人
  19. 160 段延庆
  20. 159 段公子
  21. 156 巴天石
  22. 143 朱丹臣
  23. 140 钟万仇
  24. 139 段誉心
  25. 137 乔峰
  26. 136 耶律洪
  27. 123 风波恶
  28. 119 寻思
  29. 113 云中鹤
  30. 108 邓百川
  31. 106 苏星河
  32. 105 钟夫人
  33. 103 王姑娘
  34. 101 少林寺
  35. 91 公冶乾
  36. 90 左子穆
  37. 90 全冠清
  38. 89 段誉见
  39. 89 李秋水
  40. 89 徐长老
  41. 87 童姥
  42. 86 慕容公
  43. 84 白世镜
  44. 84 段誉一
  45. 83 非也
  46. 83 赵钱孙
  47. 83 薛神医
  48. 81 黄眉僧
  49. 81 萧峰心
  50. 78 星宿派
  51. 78 崔百泉
  52. 77 司空玄
  53. 73 青袍客
  54. 73 大哥
  55. 72 很好
  56. 72 大伙儿
  57. 71 秦红棉
  58. 71 姊夫
  59. 71 妙极
  60. 70 乔帮主
  61. 69 镇南王
  62. 68 大声
  63. 67 阮星竹
  64. 67 薛慕华
  65. 67 萧远山
  66. 67 段誉大
  67. 67 星宿老
  68. 66 钟灵
  69. 66 司马林
  70. 62 阿碧
  71. 61 慕容博
  72. 60 虚竹心
  73. 55 段郎
  74. 54 霎时之
  75. 54 心中一
  76. 53 萧峰一
  77. 53 包三先
  78. 53 刀白凤
  79. 52 陈长老
  80. 52 诸保昆
  81. 51 玉虚散
  82. 51 江湖上
  83. 51 姑娘
  84. 50 摘星子
  85. 50 康广陵
  86. 50 姚伯当
  87. 49 飞库论
  88. 49 飞库制
  89. 49 颤声
  90. 49 」阿朱
  91. 49 电脑访
  92. 49 手机访
  93. 48 木姑娘
  94. 47 褚万里
  95. 47 虚竹一
  96. 47 少林派
  97. 46 高升泰
  98. 45 萧峰见
  99. 45 大理段
  100. 44 华赫艮
  101. 43 站起身

一个小脚本从小说中过滤出经常出现的人名相关推荐

  1. 盘点一个使用Python实现Excel中找出第一个及最后一个不为零的数,它们各自在第几列

    一.前言 前几天在Python交流群中遇到一个问了一个使用Python实现Excel中找出第一个及最后一个不为零的数,它们各自在第几列的问题,觉得还挺有用的,这里拿出来跟大家一起分享下. 数据截图如下 ...

  2. java 正则表达式 中文数字和字母_Java中过滤出字母、数字和中文的正则表达式 | 学步园...

    1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2)过滤出数字的正则表达式 [^(0-9)] (3)过滤出中文的正则表达式 [^(\\u4e0 ...

  3. java 正则表达式 中文数字和字母_Java中过滤出字母、数字和中文的正则表达式...

    1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2)过滤出数字的正则表达式 [^(0-9)] (3)过滤出中文的正则表达式 [^(\\u4e0 ...

  4. 单词迷阵游戏就是从一个10x10的字母矩阵中找出目标单词,查找方向可以从左往右、从右往左、从上往下或者从下往上。例如下面的迷阵中包含quot等单词。

    单词迷阵游戏就是从一个10x10的字母矩阵中找出目标单词,查找方向可以从左往右.从右往左.从上往下或者从下往上.例如下面的迷阵中包含quot等单词. rmhlzxceuq bxmichelle mnn ...

  5. java 如何将数字倒置_每日一个小算法之整数中每位上的数字进行反转 20190810

    题目要求: 给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321 示例 3: 输入: 120输出 ...

  6. 上面两点下面一个三角形_K线图中走出三角形收敛形态必有大波动?一招判断后期走势方向...

    三角形整理在股票市场.期货市场以及外汇等其他金融市场的技术分析图形中,三角形整理形态是比较常见的技术形态,可见掌握三角形整理形态是非常重要的.这一节课我们就来学习三角形整理形态,下图为经典的三角形整理 ...

  7. 见微智著 - 从一个小例子看Python中的单元测试

    单元测试 据统计,由于软件缺陷(bug),美国经济每年在浪费生产力.返工和实际毁坏上损失了数十亿美元.近期最严重的案例是波音737 Max飞机的两次重大坠机事故,共造成了346人死亡.经过初步调查,该 ...

  8. shell 的一个小 脚本模板实现hosts添加

    工作中需要指定添加hosts信息到大数据平台集群之中,为方便添加,用shell脚本实现交互添加 测试脚本: 1.addhost.ex (实现分发功能) #!/usr/bin/expect -f set ...

  9. Ruby方法参数默认值的一个小技巧在Rails中的应用

    我们需要生成一个gravatar格式的html.image标示,于是写了如下方法: def gravatar_for(user)gravatar_id = Digest::MD5::hexdigest ...

最新文章

  1. 【高并发、高性能、高可用】系统设计经验分享!
  2. 更换pip安装源头成阿里云或清华的
  3. 用群体测试开发成功的应用程序
  4. 使用三防漆来保护PCB的敷铜面
  5. 自动化运维工具 Ansible
  6. Gridview 鼠标悬浮光棒效果
  7. [转载]Tomcat 6.0 安装配置
  8. python编辑器_资深程序员:学Python我推荐你用这几款编辑器
  9. java ee无法安装_为什么要导入javax.servlet。*; 安装Java EE仍无法解决 面向Java EE开发人员的Eclipse...
  10. matlab 平行,MATLAB判断两条直线平行
  11. 通信业正面临一场巨变,要么滚蛋要么改变
  12. FreeSWITCH权威指南-基础篇-1.4-信令
  13. VS2015 卸载与安装相关问题(包丢失以及没有WIN控制台)
  14. 2018 *精读书单 -选读
  15. Postgresql13之FETCH FIRST ROWS … WITH TIES展示打结的行
  16. TCP/IP详解(二)数据链路层
  17. 能编程100行的c语言题目,C语言编程100题
  18. MySQL单表膨胀优化之MyCat分库分表
  19. 一套好用的MES系统,到底要具备哪些特质?
  20. Mantis 安装与配置

热门文章

  1. 大数据之hive(数据仓库工具)的分组和分区操作
  2. updater-script命令详解教你写刷机脚本
  3. 从记忆星期浅谈日语学习感想
  4. Flink的web界面无法访问
  5. 数电课程设计——数字频率计
  6. PTA 星际探险 (25分)(Dijkstra改约束条件)
  7. 小米推送java服务器端开发工具类
  8. 【Orangepi Zero2 全志H616】OLED屏应用/IIC协议
  9. 2022-06-29 银河麒麟V10 Nginx-rtmp+FFmpeg流媒体服务器环境搭建
  10. ​人工智能能否跨越意识鸿沟?