Проблемы со скрытыми нулями при выводе текста
У меня проблемы с тем, что в текстовых данных кажется скрытыми нулевыми символами, которые я пытаюсь извлечь из WINS-сервера, чтобы создать список имен компьютеров, начинающихся с S и 6 цифр.
входные данные примерно такие: S123456 [20h] DYNAMIC ACTIVE 1234567 UNIQUE 6/7/2014 ...
$output_file='D:\blah blah\workstations.txt'
$regex='\b[S]\d{6}\b'
Select-String -Path $input_path -Pattern "ACTIVE" |Select-Object Line | `
Select-String -Pattern $regex -Allmatches|%{$_.Matches}|%{$_.Value -replace "`r|`n",""}| get-unique > $output_file
Когда я пытаюсь загрузить в таблицу MySQL, я получаю S нуль 1 ноль 2 ноль... Как я могу удалить нули или избежать их?
1 ответ
Решение
Вот ответ, основанный на последовательности комментариев выше. Вы можете установить кодировку выходного текстового файла. Большинство встроенных команд PowerShell, которые пишут текстовые файлы, принимают -Encoding
Параметр для этой цели. Так меняется
> $output_file
в
| Set-Content -Path $output_file -Encoding UTF8
установит кодировку файла так, как вы укажете.