代码之家  ›  专栏  ›  技术社区  ›  Herms

powershell相当于这个bash命令的是什么?

  •  8
  • Herms  · 技术社区  · 14 年前

    我想创造一个 CLI 命令 TFS 签出所有包含特定字符串的文件。我主要使用 Cygwin 但是 tf 在cygwin环境中运行时,命令无法解析路径。

    我想powershell应该可以做同样的事情,但是我不确定 grep xargs 是。

    那么,下面的powershell版本是什么 Bash 命令?

    grep -l -r 'SomeSearchString' . | xargs -L1 tf edit
    
    2 回复  |  直到 9 年前
        1
  •  12
  •   Joey    9 年前

    在powershell中使用一些unix别名(如ls):

    ls -r | select-string 'SomeSearchString' | Foreach {tf edit $_.Path}
    

    或者以更规范的powershell形式:

    Get-ChildItem -Recurse | Select-String 'SomeSearchString' | 
        Foreach {tf edit $_.Path}
    

    以及使用powershell别名:

    gci -r | sls 'SomeSearchString' | %{tf edit $_.Path}
    
        2
  •  2
  •   emallove    12 年前

    我发现使用变量更容易摸索,例如,

    PS> $files = Get-ChildItem -Recurse | 
           Select-String 'SomeSearchString' | 
           %{$_.path}  | 
           Select -Unique
    PS> tf edit $files