Board logo

标题: [已解决]:查找文件中多个指定字符串对应的行 [打印本页]

作者: coldface     时间: 2010-7-23 13:34    标题: [已解决]:查找文件中多个指定字符串对应的行

在某文件中含有多行数据,打算只输出指定的内容的行,应该如何操作。
例如文件内容如下:

筛选器列表名称         : Yes
描述                   : 无
存储                   : 本地存储
上次修改时间           : 2110-7-29 99:31:04
GUID                   : {-98307D82365F}
筛选器数目             : 1
筛选器
---------
描述                   : Any
已镜像                 : 是
源 IP 地址             : 159.125.21.1
源掩码                 : 255.255.255.255
源 DNS 名称            : <特定的 IP 地址>
目标 IP 地址           : <我的 IP 地址>
目标掩码               : 255.255.255.255
目标 DNS 名称          : <我的 IP 地址>
协议                   : ANY
源端口                 : 任何
目标端口               : 任何
我打算只提取其中的“源 IP 地址 ;源掩码;目标 IP 地址 ;目标掩码 ;源端口  ;目标端口”所在行的内容,如何操作?
用findstr /ivc:""不知道怎么写几个字符串间的关系.

[ Last edited by coldface on 2010-8-4 at 17:59 ]
作者: WANKOILZ     时间: 2010-7-23 14:45
findstr /r 是正则表达式开关。
假设“某文件”为1.txt:
CODE:  [Copy to clipboard]
@echo off
for %%i in ("源 IP 地址" "源掩码" "目标 IP 地址" "目标掩码" "源端口" "目标端口") do  findstr /r /c:"\<%%~i\>" 1.txt
pause>nul

作者: coldface     时间: 2010-7-23 16:47
好的 谢谢。
刚才在翻看论坛帖子的时候看到%%~的意思了。
感谢!

[ Last edited by coldface on 2010-7-23 at 17:09 ]