标题: [文本处理] [已解决]批处理命令findstr怎样查找包含空格的关键词? [打印本页]
作者: wh1234567 时间: 2012-6-15 02:23 标题: [已解决]批处理命令findstr怎样查找包含空格的关键词?
本帖最后由 wh1234567 于 2012-6-16 14:45 编辑
- @echo off
- findstr /i "关键词1 关键词2 关键词3" a.txt>结果.txt
- exit
复制代码
这是匹配任意一个关键词的行输出的代码,我发现如果某个关键词里包含空格的话就会处理不准确,能不能将设定的关键词固定住,然后将多个关键词用逗号隔开,
例如:
关键词:北京 小学,成绩比赛,002 四中
北京 小学 这里关键词里包含空格,
234234不急不缓进口环节北京 小学2342法国德国
将红字的固定住,符合这个关键词才输出,上面的代码忽略了空格导致不能准确处理,最好是将这些特殊符号包括空格不能忽略,只以逗号分隔为准
也就是北京 小学这个是一个整体的关键词,不得分开处理
并且输出的行不得重复
作者: forfiles 时间: 2012-6-15 06:38
- findstr /c:"北京 小学" /c:"成绩比赛" /c:"002 四中" 蛋疼.txt
复制代码
作者: wh1234567 时间: 2012-6-15 10:19
回复 2# forfiles
你好,能不能弄成
set wenben=数据.txt
set guanjianci=
下面是命令...
然后输出到另外1个文本里
作者: apang 时间: 2012-6-15 12:08
本帖最后由 apang 于 2012-6-15 13:21 编辑
- @echo off&setlocal enabledelayedexpansion
- set "wenben=数据.txt"
- set guanjianci="北京 小学" "002 四中"
- set "蛋疼=!guanjianci:" "=、!"&set "蛋疼=!蛋疼:"=!"
- for %%a in (!guanjianci!) do set "str=!str! /c:%%a"
- findstr /i!str! !wenben!>"%~dp0!蛋疼!.txt"
复制代码
作者: wh1234567 时间: 2012-6-15 12:35
本帖最后由 wh1234567 于 2012-6-15 12:44 编辑
回复 4# apang
嗯,很好,
findstr /i!str! !wenben!>蛋疼.txt
我想修改成输出文件名为关键词,并将关键词用顿号“、”隔开(如果是多个关键词的话用顿号“、”隔开,如果是一个关键词的话就直接用关键词命名为输出文件名,就不带“、”)
@echo off&setlocal enabledelayedexpansion
set "wenben=数据.txt"
set guanjianci="北京 小学"、"成绩比赛"、"002 四中"
for %%a in (!guanjianci!) do set "str=!str! /c:%%a"
findstr /i!str! !wenben!>!guanjianci!.txt
好像不能处理了
作者: apang 时间: 2012-6-15 13:22
回复 5# wh1234567
好吧,4楼再试一次。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |