Можно ли настроить grep (из командной строки) для выделения соответствующей части строки? - PullRequest
4 голосов
/ 12 мая 2009

Я использую grep из командной строки через cygwin. Мне интересно, есть ли способ, чтобы выделить часть каждой строки, которая соответствует регулярному выражению. Ближайшая вещь, которую я вижу, это опция -o, но она выводит только соответствующую область, и я хотел бы видеть всю строку.

Ответы [ 3 ]

11 голосов
/ 12 мая 2009

Посмотрите на - цвет (или - цвет ), например,

grep --color POST access_log 

По умолчанию используется режим «авто», который включает коды цветов только при выводе на терминал, но не при передаче данных в другом месте. Если вы хотите, чтобы цвета передавались не в stdout, а в другое, то используйте --color = всегда

См. Связанную статью , где вы можете узнать, как изменить цвет и заставить grep использовать эту опцию по умолчанию.

8 голосов
/ 12 мая 2009

Попробуйте переключатель --color.

4 голосов
/ 13 мая 2009

Возможно, вы захотите попробовать ack tool . Делает подсвечивание по умолчанию, iirc.

На самом деле, он делает много полезных вещей по умолчанию. Некоторым это нравится, и я надеюсь, что вы тоже.

...