-1

我有一个如下所示的文本文件。请注意,我已将垃圾数据替换为“junkdata”。这只是目前对我没有用的数据,以及空白行。

junkdata 1

uid=1

junkdata 2
junkdata 3
junkdata 4

abc value1 def
pqr value1 kjks
sds value1 9982
asd value1 qwe

junkdata 5
junkdata 6
junkdata 7

uid=2

junkdata 8
junkdata 9
junkdata 10

aas value2 dg
sds value2 kwq
sdf value2 99wqa
gffs value2 ddg

junkdata11
junkdata12
junkdata13

我希望使用 powershell 获取以下格式的数据:

value   uid 
-----   ---   
Value1   1
Value2   2

非常感谢任何帮助。

4

1 回答 1

0

试试这个它应该可以工作。使用你的例子进行测试。

$FileListArray = @()
$FilesName = "c:\test\t1.txt"
    Foreach($file in Get-Content $FilesName | Where-Object {$_ -match "(uid\=\d)|(value\d)"})
    {
      IF($file -match "(value\d)")
        {$file = $file -replace "(.+)(value\d)(.+)",'$2' 
         $FileListArray += ,@($file)
        }

      Else{$FileListArray += ,@($file)}
    } 
$FileListArray
于 2012-07-04T07:55:00.493 回答