在PowerShell 1.0中使用'grep'
我想在文件的任何位置查找包含单词“navbar”的文件。 我可以使用Mac的grep命令来做到这一点:
grep -R "navbar" *
它在PowerShell 1.0中有什么等价物?
findstr /s "navbar" *
这是一个本地命令,但应该工作得很好。
PowerShell 1.0本身有点棘手,因为我认为Select-String
(直接相当于)从2.0开始才存在。 所以你不得不采取如下措施:
Get-ChildItem -Recurse |
ForEach-Object {
$file = $_
($_ | Get-Content) -cmatch 'navbar' |
ForEach-Object { $file.Name + ':' + $_ }
}
简洁版本:
ls -r|%{$f=$_;($_|gc)-cmatch'navbar'|%{$f.Name+":$_"}}
这实际上是:
-R
部分)。