Ну тогда и я на powershell со своей идефикс, что выводить все ошибки по каждому пациенту в разные файлы иррационально.
Принцип:
для каждой ошибки свой файл, если есть ошибка с привязкой к пациенту, то выводим такую ошибку в определенный для неё файл:
Код:
$fle = 'obraz.txt'
$err_out = 'error_out.txt'
gc $fle -enc default|%{$flg,$arr,$err=$true,@(),@()}{
if ($_ -match '#\s*\d+'){$name = $_} else {
$tmp = $_
for ($i=0;$i -lt $arr.count;$i++){
if ($tmp -match $arr[$i]){
$name,$tmp|out-file "$($i+1).txt" -enc default -app
$flg = $false
}
}
if ($flg){
$arr += ($tmp -replace '^([^:\(,]*).*','$1')
$name,$tmp|out-file "$($i+1).txt" -enc default -app
$err+=$tmp
}
$flg=$true
}
}
$err|sc $err_out -enc default
бонусом выводится перечень уникальных ошибок...