【问题标题】:What does the DOS command "findstr" do here?DOS 命令“findstr”在这里做什么?
【发布时间】:2011-08-17 16:16:57
【问题描述】:

根据我对 findstr 的理解,它在文件中查找文本。那么,是什么让它在文件名本身中搜索模式呢?

dir | findstr "test[0-9][0-9][0-9]test"

管道会改变其行为吗?有人解释了这个的内部工作。我知道它有效,但我不明白它是如何工作的。谢谢。

【问题讨论】:

    标签: windows command dos prompt findstr


    【解决方案1】:

    管道将dir 的标准输出重定向到findstr 的标准输入,这是因为findstr 将使用在命令行中传递给它的参数,或者通过stdin 传递给它的任何参数。

    【讨论】:

    • 我想我现在明白了。所以不是逐行读取文件,而是逐行读取文件名列表?
    • dir dir命令的输出直接写到findstr,所以相当于dir > temp.txt & findstr [pattern] temp.txt
    【解决方案2】:

    我不知道findstr 本身,但它看起来与grep 相似。

    它在这里所做的是获取dir(目录列表)的输出并在该输出中搜索一些字符串。然后它只输出那些匹配的行(有效地在目录列表中搜索)。

    This process (called piping) 在类 Unix 操作系统中很常见。如您所见,它也存在于 Windows(以及之前的 DOS)上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      • 2011-01-28
      • 2012-03-20
      • 1970-01-01
      相关资源
      最近更新 更多