5

ファイル内の任意の場所に「navbar」という単語を含むファイルを検索したい。Mac の grep コマンドを次のように使用してこれを行うことができます。

grep -R "navbar" *

PowerShell 1.0 でこれに相当するものは何ですか?

4

1 に答える 1

7
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+":$_"}}

これは文字通り次のとおりです。

  1. すべてのファイルを再帰的に検索します (その-R部分)。
  2. 各ファイルを読み取り、一致する行をファイル名とともに出力します。
于 2012-06-20T05:10:16.887 に答える