我想使用如下正则表达式从输入文件中捕获两个特定数据:
$reg = [regex]"(?<Name>^Name:.*)|(?<Id>^Id:.*)"
gci C:\test\*.txt | Get-Content | Select $reg -allmatches | Select -Expand Matches|
...
new-object psobject -property @{Name=$n; Id=$i}
...
Select-Object Name, Id | Export-Csv c:\info.csv –NoTypeInformation
我面临的问题是某些文件没有“Id”条目。如果任何文件中没有“Id”条目,则它不会显示在导出的 csv 文件中。如果有人可以帮助我提出解决方案,我将不胜感激。
C:\test\file1.txt
包含:
Name: Sturgeon Ocean
Alias: Socean
Id: 384932
Address: 3600 Caviar
Street, Pacific beach
...
Cell: 389-394-3843
...