在PowerShell中替换管道中的字符串中的空格

时间:2016-06-09 19:50:54

标签: powershell

我在PowerShell中有以下内容:

 $objects = git -C "$localRepoPath" verify-pack -v (Get-ChildItem "$PackFiles\pack-*.idx")`
  | Select-String -Pattern "blob"`
  | Select -First 5

  # Output each line
  $objects | % {
    $_.Line
   }

当我运行以上内容时,我得到:

1ff0c423042b46cb1d617b81efb715defbe8054d blob   2518 701 5081449
dc9a583bf4927685d9ceb3f9381b6a232a609281 blob   2390 1203 5082150
876f3b37e51d0af2d090104e22352171eca12bff blob   11 40 5083353 1 dc9a583bf4927685d9ceb3f9381b6a232a609281
3faa5832a9e087a5d4cf2b493c52f97eda478242 blob   21 51 5083393 2 876f3b37e51d0af2d090104e22352171eca12bff
15a0d10cde33f1d3fe5c2acda9fc1eb52def6dc6 blob   62 92 5083444 3 3faa5832a9e087a5d4cf2b493c52f97eda478242

我想在同一个管道中用'___'替换上面输出中的一个或多个空格。我试过了:

  $objects = git -C "$localRepoPath" verify-pack -v (Get-ChildItem "$PackFiles\pack-*.idx")`
  | Select-String -Pattern "blob"`
  | % { $_.Line -replace '\s+', '___' }`
  | Select -First 5

  # Output each line
  $objects | % {
    $_.Line
   }

但是输出是空的。我该如何做到这一点?

0 个答案:

没有答案