楼 主
[求助]如何用BAT自动搜索TXT文档内的多个特定字符?
发表于 2007-07-25 16:30 · 中国 湖南 长沙 电信
初级用户
★★
积分 103 发帖 52 注册 2007-04-13 05:20 19年会员 UID 84975 性别 男
状态 离线
每隔一段时间我就要备份一次日志
并要在日志中搜索是否有特定字样的字符<如某个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 ]
第 2 楼
发表于 2007-07-25 20:59 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
第 3 楼
发表于 2007-07-25 21:12 · 中国 天津 电信
银牌会员
★★★
积分 1,928 发帖 931 注册 2007-01-06 11:46 19年会员 UID 75624 性别 男
状态 离线
灌水灌水,论坛什么时候开的?
真是不知道没论坛的日子,不知道怎么过的。
第 4 楼
发表于 2007-07-25 21:21 · 中国 广东 广州 电信
初级用户
★
积分 74 发帖 38 注册 2007-07-25 13:41 19年会员 UID 94003 性别 女
状态 离线
这样?
@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
第 5 楼
发表于 2007-07-25 21:25 · 中国 天津 电信
银牌会员
★★★
积分 1,928 发帖 931 注册 2007-01-06 11:46 19年会员 UID 75624 性别 男
状态 离线
这个点还是不要替换为{好啊,
反正findstr的正则也支持.的啊。
第 6 楼
发表于 2007-07-25 21:44 · 中国 广东 广州 电信
初级用户
★
积分 74 发帖 38 注册 2007-07-25 13:41 19年会员 UID 94003 性别 女
状态 离线
可是,他要求的IP是类似192.168.1.1的格式,其中的"."不是和findstr的表达式一样了吗?不替换的话貌似批处理会将IP格式"."当成findstr的通配符表达式来处理了。
我是菜鸟,只想到这种笨方法。^_^!
[ Last edited by Runas on 2007-7-25 at 09:48 PM ]
第 7 楼
发表于 2007-07-25 21:54 · 中国 天津 电信
银牌会员
★★★
积分 1,928 发帖 931 注册 2007-01-06 11:46 19年会员 UID 75624 性别 男
状态 离线
在正则中.是表示匹配任何字符。
但是是可以转义的。\.就可以转义出来了
而且匹配的是数字,就不要用.来匹配了。
[ Last edited by wudixin96 on 2007-7-25 at 09:56 PM ]
第 8 楼
发表于 2007-07-25 22:35 · 中国 广东 广州 电信
初级用户
★
积分 74 发帖 38 注册 2007-07-25 13:41 19年会员 UID 94003 性别 女
状态 离线
\.转义可以理解,但是不用.来匹配的话,难道IP用[0-9]\.[0-9]\.[0-9]\.[0-9]这样来表示吗?
第 9 楼
发表于 2007-07-25 22:38 · 中国 天津 电信
银牌会员
★★★
积分 1,928 发帖 931 注册 2007-01-06 11:46 19年会员 UID 75624 性别 男
状态 离线
用.的话,岂不是aaa.bbb.vvv.rrr也匹配?
第 10 楼
发表于 2007-07-25 22:45 · 中国 广东 广州 电信
初级用户
★
积分 74 发帖 38 注册 2007-07-25 13:41 19年会员 UID 94003 性别 女
状态 离线
这个我也明白,但是我不太晓得用findstr的正则,兄能否按照LZ的要求,写一份范例供我们这些小菜参考一下?
第 11 楼
发表于 2007-07-26 13:46 · 中国 湖南 长沙 电信
初级用户
★★
积分 103 发帖 52 注册 2007-04-13 05:20 19年会员 UID 84975 性别 男
状态 离线
E。。。
我是要在多个IP中去查少量IP
比如在1000个IP中查找我需要找的50个IP
如果这个日志里有,就告诉我哪个有就好了
第 12 楼
发表于 2007-07-26 23:04 · 中国 北京 科技网
初级用户
★
白小痴
积分 48 发帖 23 注册 2006-09-16 01:45 19年会员 UID 62709 性别 男
状态 离线
看到这些高手在讨论,真是学到不少东东啊。
真是感谢让我成为论坛的一分子啊。
QQ : 251938794 www.pc5156.cn 電腦無憂 <<---欢迎进入个人主页
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正