[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2019-7-31 10:37 编辑
  1. @echo off
  2. REM 关键词字数,2~3个字
  3. set /a Min=2, Max=3
  4. gawk "FNR==NR{a[$0]=1;b[$0]=0};FNR!=NR{for(i=%Min%;i<=%Max%;i++)for(j=1;j<=length($0)-i+1;j++){s=substr($0,j,i);if(a[s])b[s]++}}END{for(i in b)print i,b[i]}" 关键词.txt 诗词.txt > Result.txt
  5. pause
复制代码
诗词.txt
  1. 盼断归期,划损短金篦。一搦腰围,宽褪素罗衣。知他是甚病疾,好教人没理会,拣口儿食,陡恁的无滋味。医,越恁的难调理。
  2. 秋景堪题,红叶满山溪。松径偏宜,黄菊绕东篱。正清樽斟泼醅,有白衣劝酒杯。官品极,到底成何济!归,学取他渊明醉。
复制代码
关键词.txt
  1. 盼断
  2. 一搦
  3. 天地
  4. 我们
  5. 素罗衣
复制代码
Result.txt
  1. 天地 0
  2. 素罗衣 1
  3. 我们 0
  4. 一搦 1
  5. 盼断 1
复制代码

TOP

回复 13# lxh623


    已修改

TOP

回复 17# lxh623


      这个是根据你的具体要求来的,条件一变脚本就得改,"通用" 应该谈不上。
如果以每一行关键字(顶楼说26万行)去搜索诗词每一行内容,循环次数会增加很多,可能会降低效率。你可以试试:
  1. gawk "FNR==NR{a[$0]=1};FNR!=NR{for(i in a)b[i]+=gsub(i,i)}END{for(i in b)print i,b[i]}" 关键词.txt 诗词.txt > Result.txt
复制代码

TOP

返回列表