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

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

Command > File.txt

, но содержимое файла выглядит следующим образом:

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

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

12 ответов

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

Если вы не можете изменить файлы / etc / *, вы можете вручную установить меню гном-терминала Terminal | Установите кодировку символов в Unicode (Utf-8)

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

0
ответ дан 18 July 2018 в 15:08

Это конечные escape-последовательности, которые должны интерпретироваться драйвером терминала. Поскольку выход из программы сохраняется в файл, программа (minicom) скорее ошибочно удаляет escape-последовательности, не проверяя, куда идет STDOUT.

Чтобы избавиться от escape-последовательностей, используя sed, чтобы удалить строки, содержащие 23;80H, dry-run:

sed '/23;80H/d' file.txt

Модификация:

sed -i '/23;80H/d' file.txt

Если вы хотите сохранить резервную копию с расширением например .bak, do:

sed -i.bak '/23;80H/d' file.txt
1
ответ дан 18 July 2018 в 15:08

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

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

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

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

3
ответ дан 18 July 2018 в 15:08

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

Если вы не можете изменить файлы / etc / *, вы можете вручную установить меню гном-терминала Terminal | Установите кодировку символов в Unicode (Utf-8)

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

0
ответ дан 24 July 2018 в 20:33

Это конечные escape-последовательности, которые должны интерпретироваться драйвером терминала. Поскольку выход из программы сохраняется в файл, программа (minicom) скорее ошибочно удаляет escape-последовательности, не проверяя, куда идет STDOUT.

Чтобы избавиться от escape-последовательностей, используя sed, чтобы удалить строки, содержащие 23;80H, dry-run:

sed '/23;80H/d' file.txt

Модификация:

sed -i '/23;80H/d' file.txt

Если вы хотите сохранить резервную копию с расширением например .bak, do:

sed -i.bak '/23;80H/d' file.txt
1
ответ дан 24 July 2018 в 20:33

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

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

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

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

3
ответ дан 24 July 2018 в 20:33

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

Если вы не можете изменить файлы / etc / *, вы можете вручную установить меню гном-терминала Terminal | Установите кодировку символов в Unicode (Utf-8)

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

0
ответ дан 31 July 2018 в 13:22

Это конечные escape-последовательности, которые должны интерпретироваться драйвером терминала. Поскольку выход из программы сохраняется в файл, программа (minicom) скорее ошибочно удаляет escape-последовательности, не проверяя, куда идет STDOUT.

Чтобы избавиться от escape-последовательностей, используя sed, чтобы удалить строки, содержащие 23;80H, dry-run:

sed '/23;80H/d' file.txt

Модификация:

sed -i '/23;80H/d' file.txt

Если вы хотите сохранить резервную копию с расширением например .bak, do:

sed -i.bak '/23;80H/d' file.txt
1
ответ дан 31 July 2018 в 13:22

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

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

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

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

3
ответ дан 31 July 2018 в 13:22

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

Если вы не можете изменить файлы / etc / *, вы можете вручную установить меню гном-терминала Terminal | Установите кодировку символов в Unicode (Utf-8)

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

0
ответ дан 31 July 2018 в 23:36

Это конечные escape-последовательности, которые должны интерпретироваться драйвером терминала. Поскольку выход из программы сохраняется в файл, программа (minicom) скорее ошибочно удаляет escape-последовательности, не проверяя, куда идет STDOUT.

Чтобы избавиться от escape-последовательностей, используя sed, чтобы удалить строки, содержащие 23;80H, dry-run:

sed '/23;80H/d' file.txt

Модификация:

sed -i '/23;80H/d' file.txt

Если вы хотите сохранить резервную копию с расширением например .bak, do:

sed -i.bak '/23;80H/d' file.txt
1
ответ дан 31 July 2018 в 23:36

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

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

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

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

3
ответ дан 31 July 2018 в 23:36

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

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