У меня есть большой файл, состоящий из случаев «до» и «после» для каждого элемента следующим образом:
case1 (BEF) ACT
(AFT) BLK
case2 (BEF) ACT
(AFT) ACT
case3 (BEF) ACT
(AFT) CLC
...
Мне нужно выбрать все строки, которые имеют (BEF) ACT
на первой"string и (AFT) BLK
на" second "и поместите результат в файл.
Идея состоит в том, чтобы создать предложение типа
IF (stringX.LineNumber consists of "(BEF) ACT" AND stringX+1.LineNumber consists of (AFT) BLK)
{OutFile $stringX+$stringX+1}
Извините за синтаксис, ятолько начинаю работать с PS:)
$logfile = 'c:\temp\file.txt'
$matchphrase = '\(BEF\) ACT'
$linenum=Get-Content $logfile | Select-String $matchphrase | ForEach-Object {$_.LineNumber+1}
$linenum
#I've worked out how to get a line number after the line with first required phrase
Создайте новый файл с результатом: строка с «(BEF) ACT», следующая со строкой с «(AFT) BLK»