Вывод терминала перенаправлен в файл

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

Command > File.txt

но содержимое файла выглядит так:

ht tps://ask-ubuntu.ru/images/39dd55df3d8d517c8a55c1585c46ec79878d3654.png

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

3 ответа

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

Чтобы удалить символы, перечисленные выше, передайте файл через

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

Я получил Escape, набрав Ctrl-VEsc.

Это 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.

Если вы не можете изменить файлы /etc/*,

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

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

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