我想执行一些日志分析。下面列出的示例日志文件。我知道如何使用过程/脚本解决此问题,但我想知道如何使用管道等以“powershell 样式”完成此问题
日志文件包含带有文件名和组件列表的字符串。它们中的每一个都可以“通过”或“失败”。我想打印以“Checking”开头的所有行,其中至少有一个 FAILED 组件。
Checking : C:\TFS\Datavarehus\Main\ETL\SSIS\DVH Project\APL_STG1_Daglig_Master.dtsx
Checking : C:\TFS\Datavarehus\Main\ETL\SSIS\DVH Project\COPY_STG1_APL_Dekningsgrupper_Z1.dtsx
SQLCommand [Z1 APL_Dekningsgrupper] FAILED the VA1 check (table name as source)
SQLCommand [APL_Dekningsgrupper] passed the VA1 check
SQLCommand [FAK_Avkastningsgaranti_Kollektiv] FAILED the VA1 check (table name as source)
Checking : C:\TFS\Datavarehus\Main\ETL\SSIS\DVH Project\DM_DVH_BpBedrift_InvesterteFond 1.dtsx
SQLCommand [DVH] passed the VA1 check
SQLCommand [Avtale Kurs] passed the VA1 check
乍一看,我需要类似的东西
gc logtxt | select-string -pattern 'FAILED' -context <nearest line starting with "Checking" in begining direction>,<lines count from CheckingLine to "LineWith 'FAILED'">