在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部分)。
  • 阅读每个文件并用他们的文件名打印匹配行。
  • 链接地址: http://www.djcxy.com/p/29019.html

    上一篇: 'grep' in PowerShell 1.0

    下一篇: Determine PowerShell version remotely via WMI