У меня есть куча файлов журналов (сохраненных как .txt), которые содержат «таблицу» в конце каждого журнала, который мне нужно проанализировать.
Что я имею в виду под «столом»?
Total Copied Skipped Mismatch FAILED Extras
Dirs : 332 332 332 0 0 0
Files : 1351 1087 264 0 0 0
Bytes : 1.621 g 1.222 g 408.39 m 0 0 0
Мне нужно найти в каждом из этих текстовых файлов любые записи под заголовком «сбой» в «таблице».
В лучшем случае я нахожусь на среднем уровне в написании и использовании PowerShell, но я ничего не знаю о других языках сценариев.
Как это можно сделать с помощью PowerShell v. 5+?
Я искал в Интернете, включая StackOverflow, но думаю, что могу использовать неправильную терминологию для того, что мне нужно сделать.
Вы просто анализируете журналы RoboCopy?
@ TheMadTechnician - Да. Я пытаюсь разобрать журналы Robo Copy. @Santiago Squarzon - я совсем не уверен, с чего начать, я не был уверен, нужно ли мне начинать с извлечения его в CSV или это можно сделать из формата txt.
Ваш вопрос неясен, но если вы уже выполнили задачу извлечения этих таблиц из своих файлов, следующий шаблон замены будет работать для преобразования таблиц в CSV, после чего вы можете использовать ConvertFrom-Csv
и рассматривать их как объекты. Например, используя рассматриваемую таблицу:
$csv = @'
Total Copied Skipped Mismatch FAILED Extras
Dirs : 332 332 332 0 0 0
Files : 1351 1087 264 0 0 0
Bytes : 1.621 g 1.222 g 408.39 m 0 0 0
'@ -replace '(?: :)? {2,}', ',' | ConvertFrom-Csv -WA 0
Это приведет к следующему массиву объектов:
H1 Total Copied Skipped Mismatch FAILED Extras
-- ----- ------ ------- -------- ------ ------
Dirs 332 332 332 0 0 0
Files 1351 1087 264 0 0 0
Bytes 1.621 g 1.222 g 408.39 m 0 0 0
Затем вы можете просто отфильтровать или выбрать любой массив объектов в PowerShell:
PS ..\pwsh> $csv | Select-Object FAILED
FAILED
------
0
0
0
PS ..\pwsh> $csv | Where-Object H1 -EQ Dirs
H1 : Dirs
Total : 332
Copied : 332
Skipped : 332
Mismatch : 0
FAILED : 0
Extras : 0
Подробности о регулярном выражении можно найти здесь: https://regex101.com/r/miBU2f/1.
Так в какой части вам нужна помощь? вы уже выполнили задачу по извлечению этой таблицы из файлов и вам нужна помощь только в ее разборе?