Этот скрипт удаляет строки, содержащие определенные строки, в текстовых файлах.Хотя есть проблемы с обработкой скандинавских букв.Согласно Firefox кодировка
западноевропейская
.
$filter = '.\*.alm'
$pattern = "ASE|MBE|MB1|Network interfaces|Handle|default collector|Proficy|Recovered|AlmODBC|Close Digital Point|DataBlock|Channel|Record|TESTBOOL|OK|OPC|Item|_COMMCHECK_|SYSTEM|ADMINISTRATOR|Unknown|ItemID|Field's|Connection|hutdown|acknowledged|Alarming|Suspended|primary|SAC|reloaded|Fix32|1601-01-01"
(Select-String -Path $filter -Pattern $pattern -NotMatch) |
ForEach-Object -Begin {Remove-Item $filter} -Process {$_.line | Out-File -Append -Encoding unicode $_.filename }
Outfile содержит ошибки кодирования, такие как
L�G NIV�
Я пытался использовать Select-String -encoding unicode
, но это просто приводит к бреду в файле
* 㨶 㤬 㠹 嬠 啌 华 ㅃ † ⁝ 彄† 〲 弳 呇 弱 噄 䅟 † †††††† 䭏 †††††††† 传 ⁋ †
Есть идеи, как правильно кодировать?
Пример ввода:
2018-06-13 06:24:59,999 [LUNSC2 ] Fix32.LUNSC2.LUNOP10_COMMCHECK_DV2.F_CV set to 0 by LUNOP10::SYSTEM ADMINISTRATOR
2018-06-13 06:26:01,445 [LUNSC1 ] D_TA204_GT1_DV_AL CFN LARM D_TA204_GT1_Reglerfel
2018-06-13 06:26:09,557 [LUNSC2 ] TRE-12-22-I085 OK OK K-FP60 2 MISSADE SPJÄLLMOTIONERINGAR