Я перенаправляю вывод терминала к использованию файла:
Command > File.txt
но содержание файла появляется как это:
В чем проблема? Как я могу заставить их казаться нормальными?
Команда, которую Вы выполняете (minicom
), использует "Escape-последовательности VT100", чтобы сделать расположение курсора.
Для удаления упомянутых выше символов передайте файл по каналу до
sed -e 's/^[\[[0-9][0-9];[0-9][0-9]H//'
# ^^ actual ESCape
, я получил Escape путем ввода Ctrl-V Esc .
Это - терминальные escape-последовательности, чтобы быть интерпретированным терминальным драйвером. Поскольку вывод из программы сохраняется в файл, (minicom
) программа скорее ошибочно дамп escape-последовательностей также, не проверяя, где это - STDOUT, идет.
Для избавлений от escape-последовательностей, с помощью sed
для удаления строк, которые содержат 23;80H
, пробный прогон:
sed '/23;80H/d' file.txt
Модификация:
sed -i '/23;80H/d' file.txt
, Если Вы хотите сохранить резервное копирование с расширением, например, .bak
, сделайте:
sed -i.bak '/23;80H/d' file.txt
Это происходит, потому что Вы не установили кодировку символов выходного файла к UTF-8.
В случае, если Вы не можете изменить / и т.д. /* файлы,
можно вручную установить меню терминалов гнома Кодировка символов Terminal|Set на Unicode (Utf-8)
Ответ получен из этой ссылки stackoverflow