У меня есть список предварительно обработанных файлов журналов, собранных с серверов Mutliple.Они имеют формат CSV, а содержимое файлов журнала имеет формат:
Дата, Время, Значение1, Значение2, Значение3
Я хотел бы объединить один файл с информациейиз имени файла журнала (который имеет имя сервера) и всех дат и времени, когда значение Value1 превышает определенное значение в файлах журнала для дальнейшего анализа.Другими словами, я хотел бы, чтобы ожидаемый результат был:
Имя файла1,2011 / 10 / 01,12: 00: 00.256,2345,210,0 Имя файла1,2011 / 10 / 05,13: 45:36,321,2666,209,0 Имя файла5,2011 / 10 / 09,09: 08: 02,111,2100,180,0 Имя файла20,2011 / 10 / 15,17: 09: 33,256,3019,109,0 ...
Я пытался использовать Powershell + регулярное выражение для извлечения информации.Однако я могу получить только строку, содержащую желаемое значение и имя файла или только дату, время и значение1.Сценарии PowerShell:
select-string -path "C: \ Server \ Logs * .csv" -pattern "([0-9] {4} / [0-9] {1,2}/[0-9]{1,2}),([0-9]{2}:[0-9]{2}:[0-9]{2}).[0-9]{3}, ([2-9] [0-9] {3}) "|select-object -property имя файла, номер белья, строка |export-csv -path highload2.csv
select-string -path "C: \ Server \ Logs * .csv" -pattern "([0-9] {4} / [0-9] {1, 2} / [0-9] {1,2}), ([0-9] {2}: [0-9] {2}:. [0-9] {2}) [0-9]{3}, ([2-9] [0-9] {3}) "|select-object -expand Matches |Foreach {$ .Groups [1] .Value, $ .Groups [2] .Value, $ _. Groups [3] .Value}
Есть ли способ получить результатчто мне нужно?
Спасибо,