@Drovosek01

Почему в терминале перенаправление вывода команды man в текстовый файл дает «битый» текст?

У меня macOS Monterey и если я в терминале выполню команду
man local > local.txt
А потом открою файл local.txt в SublimeText, то будет набор символов и байт 0x08
spoiler
6650919bc3b08173461162.png


Один из вариантов решения нашел здесь - https://iboysoft.com/tips/macos-terminal-export-ma...
man local | col -bx > local.txt

Команду col ранее не встречал, почитал про нее кратко информацию и было написано, что онав ыполняет наложение строк, вызываемое реверсной подачей бумаги (код ESC 7), а также прямой и реверсной подачей бумаги на полстроки (коды ESC 9 и ESC 8).
https://www.linuxlib.ru/manpages/COL.1.shtml

Вопрос:
Почему в терминале перенаправление вывода команды man в текстовый файл выдает не тот же самый текст (в текстовом файле), что я вижу в терминале?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
0x08 - BS - BackSpace
Используется для перемещения каретки на одну позицию назад и печати символов поверх уже напечатанных.
При выводе на терминал последовательность <символ><0x08><символ> эмулируется жирным шрифтом.
Кроме этого могут использоваться ESC-последовательности.
Ответ написан
Комментировать
@dronmaxman
VoIP Administrator
Вывод команды man в файл привела к захвату некоторых управляющих символов форматирования, в частности символов, обозначающих полужирный или подчеркнутый текст. Команда man использует эти управляющие символы для форматирования текста для отображения в терминале, но они некорректно отображаются в обычных текстовых файлах.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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