操作Select String Object的输出

时间:2017-08-03 15:27:21

标签: powershell

我想在适当的列中操作输出,以便稍后我可以在Excel中打开文件。基本上,通过复制输出并将其粘贴到具有分隔符选项的Excel(导入向导)。

SourceFile:a.txt
https://rent.com

代码

change: function () {
  let questions = this.Questions;
  questions[0].foo = 5;

  this.Questions = questions;

  /* or
   let index = 0;
   let question = this.Questions[index];
   question.foo = 5;
   this.Questions.splice(index, 1, question);
  */
}

但我得到的输出是:

$pat=@("rent.com")
$files=Get-ChildItem "D:\test\*.*" -Recurse
$files |Select-String -Pattern $pat |Out-File "D:\output\result.txt"

如何操作输出,以便我得到:

D:\test\a.txt:1:https://rent.com

然后我可以使用〜作为分隔符并导入Excel。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

怎么样:

$pat=@("rent.com") 
$files=Get-ChildItem "D:\test*.*" -Recurse 
$files |
    Select-String -Pattern $pat |
    %{ "{0}~{1}~{2}" -f $_.Path, $_.LineNumber, $_.Line } |
    Out-File "D:\output\result.txt"

Try it online

参考文献:

Select-String Outputs

答案 1 :(得分:0)

其他方法:

$pat=@("tec") 
$files=Get-ChildItem "D:\test*.*"  -Recurse -file
$files | Select-String -Pattern $pat |   %{$_.ToString().Replace(':', '~')}  | Out-File "D:\output\result.txt"