在网上搜索Powershell的findstr
等效项我发现this site,建议使用Cmdlet gci
(获取子项)和select-string
。但是,gci
不会打印文件的内容,而是打印目录内容。在这种情况下流水线的工作原理如何,gci
和select-string
如何过滤文件的内容(不首先将其压缩到get-content
)?
答案 0 :(得分:5)
Select-String
接受管道输入。管道FileInfo对象时,它们绑定到InputObject参数。以下两个命令是等效的:
PS> Get-ChildItem C:\test.txt | Select-String -Pattern logfile
PS> Select-String -InputObject (Get-ChildItem C:\test.txt) -Pattern logfile
答案 1 :(得分:3)
select-string
cmdlet从管道中接收System.IO.FileInfo
对象。因此,它能够确定其参数的哪一部分是文件名,哪些是要查找的字符串。请参阅Technet上的Select-string。