Можно ли удалить последовательности ESC в выходном файле экрана GNU? Такие вещи, как цвета, вкладки и другие escape-символы, попадают в файлы журналов и их становится трудно расшифровать.
Я пробовал Dr. Google & Co., а также читал руководство, но не смог найти ничего подходящего ...
Возможно, я что-то упустил?
linux
terminal
gnu-screen
shaond
источник
источник
Используйте ансифильтр.
источник
brew install ansifilter
и он работал как шарм.Также попробуйте параметр -r или -R меньше.
источник
После того, как вы записали свой сеанс в screenlog.n, вы можете поместить файл в терминал и затем использовать команду hardcopy, чтобы вывести вывод cat в файл. Результат предоставит вам чистый вывод, который не имеет escape-последовательностей.
Похоже, единственная «ошибка» заключается в том, чтобы убедиться, что печатная копия захватывает все в буфере обратной прокрутки и что буфер обратной прокрутки содержит только то, что вы хотите захватить.
Обратите внимание, что -h гарантирует, что вы захватите всю историю прокрутки, а не только то, что в непосредственном представлении
Файл screenlog.n.cleaned теперь будет содержать печатную копию вывода cat и не будет содержать никаких escape-последовательностей.
источник
wc -l
не сработало для меня. Он вернул 28226, но на самом деле мне нужно было 33031 в моем случае.Я использую
strings
команду, чтобы сделать экранный журнал читабельным. Под Debian это часть пакета binutils.Как написано на его странице руководства:
источник
Если вы
screen
пользователь, то решение для печатной копии экрана, предложенное постом Джоэля Веркса, будет работать лучше всего, при условии, что у вас есть большой прокрутка, определенная в вашем.screenrc
:тогда вы бы сделали:
Показать ваш
screenlog
файл:Используйте
hardcopy -h
(см. Справочную страницу экрана), чтобы сохранить текущее содержимое окна и его буфер прокрутки вhardcopy.#
файл:источник