Intentando obtener datos significativos de un archivo de texto de salida usando powershell

Tengo un archivo de texto que se ve a continuación. Tenga en cuenta que he reemplazado los datos basura con "datos basura". Son solo datos que no me sirven en este momento, junto con líneas en blanco.

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

Estoy buscando obtener datos en el siguiente formato usando powershell:

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

Cualquier ayuda muy apreciada.

preguntado el 04 de julio de 12 a las 08:07

1 Respuestas

Prueba esto, debería funcionar. Probado usando tu ejemplo.

$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

Respondido 04 Jul 12, 10:07

Estoy bien con el formato de la salida, la principal preocupación es eliminar los datos basura. Estoy bien, incluso si la salida está en otro archivo de texto o en una matriz: user1197981

wowwwwwww.. eso fue increíble.. muchas gracias.. justo lo que necesitaba - user1197981

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.