Поскольку я ленивый .... всякий раз, когда я хочу использовать grep, я хочу, чтобы это был grep -n --colour. Есть ли способ постоянно отобразить это?
В вашем файле $ 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 , который по умолчанию выводит цвет.
Редактировать ~ / .bash_aliases Добавить строку с надписью:
alias grep='grep -n --color'
~ / .bash_aliases автоматически включается ~ / .bashrc, если он существует
Вы можете изменить файл .bashrc, расположенный в вашем домашнем каталоге, определяя псевдоним, который переопределит любую настройку по умолчанию:
alias grep = 'grep -n --color'
после изменения закрыть и снова открыть терминал, потому что файл читается только при открытии терминала.
Если вы посмотрите на файл .bashrc, вы найдете больше псевдонимов по умолчанию, например:
alias ll = 'ls -l'
alias la = 'ls -A' [ 115]
псевдоним l = 'ls -CF'
Создайте сценарий в дополнение к псевдониму, упомянутому в других ответах. Псевдоним сам по себе не всегда работает, а слой сценариев достаточно быстрый для удобочитаемого вывода в любом случае.
Выберите короткое имя, например cgrep
:
#!/bin/sh
grep --color -n "$@"
Поместите его на свой путь, скажем ~/bin
(если вы читаете UPE, это на вашем пути :). Тогда такие вещи будут работать:
find /usr/share -name '*.txt' | xargs cgrep testing
Я все еще не так счастлив, я тоже хотел, чтобы grep всегда окрашивал при выводе на терминал без выборочного ввода cgrep.