Заменить команду grep командой grep -n -colour?

17

Потому что я ленив ... всякий раз, когда я хочу использовать grep, я хочу, чтобы он был grep -n -colour. Есть ли способ постоянно отображать это?

    
задан Tree77 13.08.2010 в 17:41
источник

4 ответа

31

В файле $ 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 , который по умолчанию выводит цвет.

    
ответ дан richq 13.08.2010 в 18:52
источник
29

Изменить ~ / .bash_aliases Добавьте строку, которая гласит:

alias grep='grep -n --color'

~ / .bash_aliases автоматически включается ~ / .bashrc, если он существует

    
ответ дан maco 13.08.2010 в 17:43
2

вы можете изменить файл .bashrc, расположенный в вашем домашнем каталоге, определяющий псевдоним, который переопределит любой параметр по умолчанию:

alias grep = 'grep -n -color'

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

Если вы посмотрите на файл .bashrc, вы найдете больше псевдонимов по умолчанию, например:

alias ll = 'ls -l'

alias la = 'ls -A'

alias l = 'ls -CF'

    
ответ дан Paolo Sammicheli 13.08.2010 в 17:48
0

Создайте сценарий в дополнение к псевдониму, указанному в других ответах. Алиас сам по себе не всегда будет работать, и уровень скрипта будет достаточно быстрым для человеческого читаемого вывода в любом случае.

Выберите короткое имя, например cgrep :

#!/bin/sh
grep --color -n "[email protected]"

Поместите его в свой путь, скажем, ~/bin (если вы читаете UPE, это на вашем пути :). Тогда такие вещи будут работать:

find /usr/share -name '*.txt' | xargs cgrep testing

Я все еще не очень счастлив, мне тоже хотелось, чтобы grep всегда был цветным, когда stdout на терминал без выборочной печати cgrep.

    
ответ дан rfabbri 27.05.2016 в 18:44