Ответы:
В вашем файле $ HOME / .bashrc добавьте:
export GREP_OPTIONS="-n --color"
Это будет работать egrep
и с псевдонимами, которые используют grep.
Обновление : GREP_OPTIONS устарела с grep 2.21 и, если вы используете это решение, вы увидите следующее предупреждение:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
Поэтому лучшим решением будет последовать совету Мако в его ответе . Или переключитесь на ag , который по умолчанию выводит цвета.
Edit ~ / .bash_aliases Добавьте строку, которая говорит:
alias grep='grep -n --color'
~ / .bash_aliases автоматически включается ~ / .bashrc, если он существует
.profile
если хотите, чтобы она работала во всех оболочках, а не только в bash.
find /usr/share -name '*.txt' |xargs grep testing
Вы можете изменить файл .bashrc, расположенный в вашем домашнем каталоге, определяя псевдоним, который переопределит любой параметр по умолчанию:
псевдоним grep = 'grep -n --color'
после изменения закройте и снова откройте терминал, потому что файл читается только при открытии терминала.
Если вы посмотрите на файл .bashrc, вы найдете больше псевдонимов по умолчанию, таких как:
псевдоним ll = 'ls -l'
псевдоним la = 'ls -A'
псевдоним l = 'ls -CF'
Создайте сценарий в дополнение к псевдониму, упомянутому в других ответах. Псевдоним сам по себе не всегда будет работать, а слой сценария достаточно быстрый для удобочитаемого вывода в любом случае.
Выберите короткое имя, например cgrep
:
#!/bin/sh
grep --color -n "$@"
Поместите это в свой путь, скажем ~/bin
(если вы читаете UPE, это на вашем пути :). Тогда такие вещи будут работать:
find /usr/share -name '*.txt' | xargs cgrep testing
Я все еще не так счастлив, я тоже хотел, чтобы grep всегда окрашивал, когда выводил на терминал без выборочного ввода cgrep.