Игнорирование escape-последовательностей и других символов в перенаправлении UNIX - PullRequest
2 голосов
/ 26 апреля 2011

Я перенаправляю вывод консоли в файл, и получаю [?25h и [?25l, смешанные с моим обычным выводом. Я посмотрел в Интернете и , по-видимому, они являются символами последовательности для cnorm и civis, какими бы они ни были. Есть ли способ подавить их в выводе?

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Одна вещь, которую вы можете попробовать, - установить переменную окружения TERM который не поддерживает эти функции, например, с помощью команды Bash, подобной этой:

env TERM=dumb yourcmd > yourfile

(где yourcmd - программа, вывод которой вы хотите перенаправить в выходной файл yourfile)

Для других оболочек вам, возможно, придется сделать что-то более похожее на

setenv TERM dumb
yourcmd > yourfile
1 голос
/ 26 апреля 2011

Я закончил пипеткой через сед.Информация Джима все еще очень полезна, хотя.Я использовал эту команду:

sed 's/\[?25[hl]//'

Кстати, она ловит [?25h и [?25l, но не тогда, когда они в последовательности ([?25h[?25l).Любые предложения для этого?

...