У меня есть простой файл make, и я хочу выделить слово или строку, содержащую «error:», чтобы было легче увидеть.

Я использую SSH через Putty для машины linux, что может вызвать проблему, но в настоящее время я пытался выполнить grep с каналом, но он ничего не выделяет:

grep -E --color 'error|$' | make

Это выводит это:

Как выделить ошибку строки или слова в выводе консоли? И можно ли превратить его в псевдоним, чтобы мне не приходилось каждый раз пускать трубу?

2 ответа2

3

В grep доступны 3 варианта цвета:

--color=auto
--color=always
--color=never

Попробуйте указать = всегда

Со страницы руководства grep :

    --colour[=WHEN], --color[=WHEN]
          Surround  the matching string with the marker find in GREP_COLOR
          environment variable. WHEN may be 'never', 'always', or 'auto'

Наконец, вы можете указать параметр цвета в специфичной для grep переменной среды. Тогда вам не нужно вводить его в командной строке.

$ export GREP_OPTIONS='--color=always'
0

Команда должна выглядеть примерно так

make 2>&1 | grep -E --color=always 'error|$'

Это перенаправляет поток stderr с make на stdout. '$' В grep соответствует каждой строке, так что вы видите весь вывод. Будет выделен только текст «ошибка».

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