中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何用BAT自动搜索TXT文档内的多个特定字符?
作者:
标题: [求助]如何用BAT自动搜索TXT文档内的多个特定字符? 上一主题 | 下一主题
flybird2020
初级用户





积分 103
发帖 52
注册 2007-4-13
状态 离线
『楼 主』:  [求助]如何用BAT自动搜索TXT文档内的多个特定字符?

每隔一段时间我就要备份一次日志
并要在日志中搜索是否有特定字样的字符<如某个IP:222.222.222.222>
手动要查的话太多了,不方便
能不能写个BAT
一次性查出来是否在此次日志中含有我要搜索的字符呢?
谢谢高手
小菜太菜了

PS:补充一下
我是要在多个IP集合中查找一定数量的IP
比如在1000个IP中找我指定的50个IP是否存在

[ Last edited by flybird2020 on 2007-7-26 at 01:47 PM ]

2007-7-25 16:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

findstr命令

2007-7-25 20:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 3 楼』:  

灌水灌水,论坛什么时候开的?

真是不知道没论坛的日子,不知道怎么过的。

2007-7-25 21:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Runas
初级用户





积分 74
发帖 38
注册 2007-7-25
状态 离线
『第 4 楼』:  

这样?

@echo off & setlocal ENABLEDELAYEDEXPANSION
cd /d "c:\日志备份"
::存放日志文件的目录
for /f "delims=" %%i in ('dir /a-d /b *.log') do (
  for /f "delims=" %%a in ('type "%%i"') do (
  set str=%%a
  echo !str:.={! | findstr .*{.*{.*{.*>nul && echo %%i:!str!
    )
  )
pause

2007-7-25 21:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 5 楼』:  

这个点还是不要替换为{好啊,

反正findstr的正则也支持.的啊。

2007-7-25 21:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Runas
初级用户





积分 74
发帖 38
注册 2007-7-25
状态 离线
『第 6 楼』:  

可是,他要求的IP是类似192.168.1.1的格式,其中的"."不是和findstr的表达式一样了吗?不替换的话貌似批处理会将IP格式"."当成findstr的通配符表达式来处理了。

我是菜鸟,只想到这种笨方法。^_^!

[ Last edited by Runas on 2007-7-25 at 09:48 PM ]

2007-7-25 21:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 7 楼』:  

在正则中.是表示匹配任何字符。

但是是可以转义的。\.就可以转义出来了

而且匹配的是数字,就不要用.来匹配了。
[0-9]

[ Last edited by wudixin96 on 2007-7-25 at 09:56 PM ]

2007-7-25 21:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Runas
初级用户





积分 74
发帖 38
注册 2007-7-25
状态 离线
『第 8 楼』:  

\.转义可以理解,但是不用.来匹配的话,难道IP用[0-9]\.[0-9]\.[0-9]\.[0-9]这样来表示吗?

2007-7-25 22:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 9 楼』:  

用.的话,岂不是aaa.bbb.vvv.rrr也匹配?

2007-7-25 22:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Runas
初级用户





积分 74
发帖 38
注册 2007-7-25
状态 离线
『第 10 楼』:  

这个我也明白,但是我不太晓得用findstr的正则,兄能否按照LZ的要求,写一份范例供我们这些小菜参考一下?

2007-7-25 22:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flybird2020
初级用户





积分 103
发帖 52
注册 2007-4-13
状态 离线
『第 11 楼』:  

E。。。
我是要在多个IP中去查少量IP
比如在1000个IP中查找我需要找的50个IP
如果这个日志里有,就告诉我哪个有就好了

2007-7-26 13:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jckjuc
初级用户

白小痴


积分 48
发帖 23
注册 2006-9-16
状态 离线
『第 12 楼』:  

看到这些高手在讨论,真是学到不少东东啊。
真是感谢让我成为论坛的一分子啊。



QQ : 251938794       www.pc5156.cn     電腦無憂     <<---欢迎进入个人主页
2007-7-26 23:04
查看资料  发短消息 网志  OICQ (251938794)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: