Будучи окрашенным результатами при использовании канала от grep до меньше

Я использую - параметр цвета grep много, но я часто использую меньше также. Как я могу передать результаты grep по каналу к меньше и все еще сохранить окраску. (Или это возможно?)

grep "search-string" -R * --colour | less 

Править:

Я ищу прямое решение или что-либо эквивалентное этому.

248
задан 10.11.2018, 02:56

2 ответа

Когда Вы просто работаете grep --color это подразумевает grep --color=auto который обнаруживает, является ли вывод терминалом и раз так включает цвета. Однако, когда это обнаруживает канал, это отключает окраску. Следующая команда:

grep --color=always -R "search string" * | less

Будет всегда позволять окрасить и переопределять автоматическое обнаружение, и Вы вложите цветное выделение less.

Править: Хотя с помощью просто less работы для меня, возможно, более старая версия требует -R отметьте для обработки цветов, как therefromhere предложенный.

276
ответ дан 07.12.2019, 07:39

Можно вставить это Ваш .bashrc файл:

export GREP_OPTIONS="--color=always"

или создайте псевдоним как это:

alias grepc="grep --color=always"

и необходимо будет использовать -R опция для less, как указано therefromhere

28
ответ дан 07.12.2019, 07:39

Теги

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