标题: [文本处理] [已解决]grep如何分别同时多个条件过滤 [打印本页]
作者: shootman2 时间: 2015-5-13 18:17 标题: [已解决]grep如何分别同时多个条件过滤
本帖最后由 shootman2 于 2015-5-13 23:53 编辑
看下面的命令
for /f "tokens=1-4 delims=|" %m in ('grep -E "^D01" eng_dsrc_cfgs.txt') do echo %m^|%n^|%o^|%p
D010|251-yyjc-system|oracle|system
D011|144-yyjc-system|oracle|system
D012|78-yyjc-bkuser|oracle|bkuser
D013|140-visu-system|oracle|system
D014|125-infa-system|oracle|system
D015|253-yyjc-system|oracle|system
D016|71-orcl-visu|oracle|visu
D017|140-orcl-visu|oracle|visu
D018|78-yyjc-visu|oracle|visu
D019|98-bkscan|ftp|bkscan
在命令grep -E "^D01" eng_dsrc_cfgs.txt中,我想再增加一个 与 条件,
整体的意思,就是筛选单反以D01打头的,并且含有 oracle 字符的行
我在后面增加了一个 -E 参数,但是报错了
grep -E "^D01" -E "oracle" eng_dsrc_cfgs.txt
grep: oracle: No such file or directory
eng_dsrc_cfgs.txt010|251-yyjc-system|oracle|system
eng_dsrc_cfgs.txt:D011|144-yyjc-system|oracle|system
eng_dsrc_cfgs.txt:D012|78-yyjc-bkuser|oracle|bkuser
eng_dsrc_cfgs.txt:D013|140-visu-system|oracle|system
eng_dsrc_cfgs.txt:D014|125-infa-system|oracle|system
eng_dsrc_cfgs.txt:D015|253-yyjc-system|oracle|system
eng_dsrc_cfgs.txt:D016|71-orcl-visu|oracle|visu
eng_dsrc_cfgs.txt:D017|140-orcl-visu|oracle|visu
eng_dsrc_cfgs.txt:D018|78-yyjc-visu|oracle|visu
eng_dsrc_cfgs.txt:D019|98-bkscan|ftp|bkscan
具体该怎么写,求助大神。。。
作者: gawk 时间: 2015-5-13 18:35
- for /f "tokens=1-4 delims=|" %m in ('grep "^D01.*oracle" 1.txt') do @echo %m^|%n^|%o^|%p
复制代码
作者: shootman2 时间: 2015-5-13 20:59
回复 2# gawk
哇!好复杂啊!脑子不够用了,咋理解呢?
作者: gawk 时间: 2015-5-13 21:28
回复 3# shootman2
不就是多了 .* 吗,正则表达式最基础的东西呀,多看看教程吧。
作者: bailong360 时间: 2015-5-13 22:36
- for /f "tokens=1-4 delims=|" %m in ('grep "^D01" eng_dsrc_cfgs.txt^|grep "oracle"') do echo %m^|%n^|%o^|%p
复制代码
用管道再过滤一次,这个总好理解了....
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |