以下我的脚本通过多个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
我的结果是:
我理想的结果是,如果这是可能的:
Part Number: 459279
Count: 2
Filename LineNumbers
-------- -----------
Customer1.txt 2
Customer2.txt 3
我已经手工检索编号 '459279',从“PartNumbers.txt “并使用脚本搜索它。
我似乎无法删除/替换大括号和逗号来呈现一个干净的列表。
我希望最终做的是递归搜索“PartNumbers.txt”并生成一个报告,每个部件号都附加到上述样式中的下一个。
PartNumbers.txt格式化:
895725
939058
163485
459279
498573
客户* .TXT格式设置:
163485
459279
498573
,如果你提供这将是有益的来自** PartNumbers.txt **的摘录,所以我们可以看到格式。很难告诉你如何排除逗号和大括号,而不知道它们来自哪里。 –
我的歉意,我现在增加了额外的细节。我想指出的是,在我给出的例子中,我手动从文本文件中获取了部件号并将其复制到脚本中。我还没有完成循环** PartNumbers.txt **。谢谢。 –