尝试使用PowerShell从输出文本文件中获取有意义的数据

时间:2012-07-04 07:09:25

标签: powershell

我有一个文本文件,如下所示。请注意,我已用“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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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