Board logo

标题: [文本处理] 【已解决】用findstr如何查找同时存在两个关键字的行? [打印本页]

作者: ams    时间: 2016-1-10 00:43     标题: 【已解决】用findstr如何查找同时存在两个关键字的行?

本帖最后由 ams 于 2016-1-10 19:15 编辑

a.txt内容如下
  1. aaa ccc bbb
  2. bbb ccc
复制代码
想查找带关键字a,同时又带关键字b的行,用findstr "a b" a.txt,会把两行都找出来,有没有办法让其只找出第一行来?
除了查找两次find "b" a.txt | find "a" a.txt,有没有更直接的办法?
作者: gawk    时间: 2016-1-10 09:32

  1. findstr "a.*b b.*a" 1.txt
复制代码

作者: hlzj88    时间: 2016-1-10 09:50

本帖最后由 hlzj88 于 2016-1-10 09:52 编辑

回复 2# gawk
a.*  是含a与任意字符且重复,a.*b  什么意思? 或者我理解的不对,求解释
作者: Batcher    时间: 2016-1-10 10:16

回复 3# hlzj88


    “且重复”这种观点是哪本书上说的?
作者: Batcher    时间: 2016-1-10 10:18

.*表示任意字符或字符串,没有重复不重复的这种限定条件。
作者: hlzj88    时间: 2016-1-10 13:38

回复 4# Batcher
恩,,是看了findstr的帮助,有
一般表达式的快速参考:
  .        通配符: 任何字符
  *        重复: 以前字符或类出现零或零以上次数

因为这,这样子理解的。
作者: CrLf    时间: 2016-1-10 15:01

回复 6# hlzj88


    * 只针对 * 前的那一个字符
作者: codegay    时间: 2016-1-10 15:06

可以用范围findstr "[ab]"
作者: gawk    时间: 2016-1-10 16:13

回复 8# codegay


    这样能保证“带关键字a,同时又带关键字b”?




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2