DOS 命令“findstr”的作用是什么?在这里做吗?
根据我对 findstr 的理解,它在文件中查找文本。那么,是什么让它在文件名本身中搜索模式呢?
dir | findstr "test[0-9][0-9][0-9]test"
管道会改变其行为吗?有人解释一下其内部工作原理。我知道它有效,但我不明白它是如何工作的。谢谢。
From my understanding of findstr, it looks for text within files. What, then, is making it search for a pattern in the filename itself?
dir | findstr "test[0-9][0-9][0-9]test"
Does the pipe alter its behavior? Someone explain the inner working of this. I know it works, but I don't understand how it works. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
管道将
dir
的标准输出重定向到findstr
的标准输入,这是因为findstr
将使用在命令行,或通过标准输入传递给它的任何内容。The pipe redirects the standard output of
dir
to the standard input offindstr
, this works asfindstr
will use either the arguments passed to it on the command line, or anything passed to it via stdin.我不知道
findstr
本身,但它看起来类似于grep
。它在这里所做的是获取 dir (目录列表)的输出并在该输出中搜索某些字符串。然后它只输出那些匹配的行(有效地在目录列表中搜索)。
这个过程(称为管道)在类 Unix 操作系统中非常常见。如您所见,它也存在于 Windows(以及之前的 DOS)上。
I don't know
findstr
itself, but it looks to be similar togrep
.What it does here is take the output of
dir
(the directory listing) and search for some string in that output. It then only outputs those lines that match (effectively searching in the directory listing).This process (called piping) is pretty common in Unix-like operating systems. As you see it also exists on Windows (and DOS before that).