2

在网上搜索findstrPowershell 的等效项,我发现了这个站点,它建议使用 Cmdlet gci(获取子项)和select-string. 但是,gci不打印文件的内容,而是打印目录内容。gci在这种情况下,流水线是如何工作的,如何select-string过滤文件的内容(无需先将其流水线化get-content)?

4

2 回答 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-stringcmdlet从System.IO.FileInfo管道接收对象。因此,它能够确定其参数的哪些部分是文件名,哪些是要查找的字符串。请参阅Technet 上的 Select-string

于 2012-09-05T09:24:24.243 回答