在网上搜索findstr
Powershell 的等效项,我发现了这个站点,它建议使用 Cmdlet gci
(获取子项)和select-string
. 但是,gci
不打印文件的内容,而是打印目录内容。gci
在这种情况下,流水线是如何工作的,如何select-string
过滤文件的内容(无需先将其流水线化get-content
)?
问问题
994 次
2 回答
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
于 2012-09-05T09:37:39.413 回答
3
select-string
cmdlet从System.IO.FileInfo
管道接收对象。因此,它能够确定其参数的哪些部分是文件名,哪些是要查找的字符串。请参阅Technet 上的 Select-string。
于 2012-09-05T09:24:24.243 回答