Терминальный вывод, перенаправленный в файл

Я перенаправляю вывод терминала к использованию файла:

Command > File.txt

но содержание файла появляется как это:

enter image description here

В чем проблема? Как я могу заставить их казаться нормальными?

2
задан 12 April 2017 в 07:29

3 ответа

Команда, которую Вы выполняете (minicom), использует "Escape-последовательности VT100", чтобы сделать расположение курсора.

Для удаления упомянутых выше символов передайте файл по каналу до

sed -e 's/^[\[[0-9][0-9];[0-9][0-9]H//'
#         ^^ actual ESCape

, я получил Escape путем ввода Ctrl-V Esc .

3
ответ дан 2 December 2019 в 02:15

Это - терминальные 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
1
ответ дан 2 December 2019 в 02:15

Это происходит, потому что Вы не установили кодировку символов выходного файла к UTF-8.

В случае, если Вы не можете изменить / и т.д. /* файлы,

можно вручную установить меню терминалов гнома Кодировка символов Terminal|Set на Unicode (Utf-8)

Ответ получен из этой ссылки stackoverflow

0
ответ дан 2 December 2019 в 02:15

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

Похожие вопросы: