6

Существует ли эмулятор терминала (например, терминал GNOME) для linux/unix, который позволяет всегда выделять одно слово (например, "выделить слово FAIL красным")? Или, может быть, есть плагин для терминала GNOME (если существует такая вещь, как "плагины для терминала gnome").

Решение должно выделять слово независимо от того, какое приложение запускается внутри терминала, т.е. запуск cat test.txt должен выделять слово и make all .

Любая помощь очень ценится моими мутными глазами.

3 ответа3

8

Используя bash, вы можете выделить все слово «FAIL» красным, используя следующие команды:

txtred=$(echo -e '\e[0;31m')
txtrst=$(echo -e '\e[0m')
bash | sed -e "s/FAIL/${txtred}FAIL${txtrst}/g"

Он создает новую оболочку bash и редактирует стандартный вывод этой новой оболочки с помощью sed . Если вы хотите завершить выпуск stdout, просто введите команду exit чтобы вернуться к предыдущей оболочке. Вы можете найти больше цветовых команд здесь . Вариант echo -e необходим для получения реального значения ESCAPE \e .

Я попробовал это с echo и cat в этой оболочке, и это работает. Тем не менее, это нарушает программы, ожидающие вывода терминала, например vi . Я думаю, что это также сломало бы программы, использующие специальную буферизацию вывода. Он также прерывает такие команды, как echo -n FAIL и меняет поведение таких команд, как ls (ls печатает много файлов на строку, когда вывод является терминалом, и один файл на строку, когда вывод - канал).

1

клид работает отлично. Я использую его на RHEL 6.2, из репозитория EPEL

-2

Ты можешь использовать

cat filename|grep word -w 

где filename - это имя файла, а word - слово, которое вы хотите выделить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .