Проблемы со скрытыми нулями при выводе текста

У меня проблемы с тем, что в текстовых данных кажется скрытыми нулевыми символами, которые я пытаюсь извлечь из 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

установит кодировку файла так, как вы укажете.

Другие вопросы по тегам