【发布时间】:2013-07-15 00:14:11
【问题描述】:
我下面的脚本通过多个 txt 文件递归地搜索特定的部件号 (459279)。
set-location C:\Users\admin\Desktop\PartNumbers\
$exclude = @('PartNumbers.txt','*.ps1')
$Line = [Environment]::NewLine
Get-ChildItem -Recurse -Exclude $exclude | select-string 459279 | group count | Format-Table -Wrap -AutoSize -Property Count,
@{Expression={$_.Group | foreach { $_.filename} | Foreach {"$_$Line"} }; Name="Filename"},
@{Expression={$_.Group | foreach {$_.LineNumber} | Foreach {"$_$Line"} }; Name="LineNumbers"} | Out-File 459279Results.txt
我的结果是:
Count Filename LineNumbers
----- -------- -----------
2 {Customer1.txt {2
, Customer2.txt , 3
} }
如果可能的话,我的理想结果是:
Part Number: 459279
Count: 2
Filename LineNumbers
-------- -----------
Customer1.txt 2
Customer2.txt 3
我已从“PartNumbers.txt”手动检索部件号“459279”并使用脚本进行搜索。
我似乎无法删除/替换大括号和逗号来显示一个干净的列表。
我希望最终做的是递归搜索“PartNumbers.txt”并生成一个报告,其中每个部件号都以上述样式附加到下一个部件号。
PartNumbers.txt 已格式化:
895725
939058
163485
459279
498573
Customer*.txt 被格式化:
163485
459279
498573
【问题讨论】:
-
如果您提供 PartNumbers.txt 的摘录会很有帮助,以便我们查看格式。很难告诉你如何排除逗号和花括号而不知道它们来自哪里。
-
抱歉,我现在添加了额外的细节。我想指出,在我给出的示例中,我手动从文本文件中获取了部件号并将其复制到脚本中。我还没有通过 PartNumbers.txt 循环。谢谢。
标签: powershell format output tabular