Замініть команду grep на grep -n --colour?


17

Тому що я лінивий .... будь-коли, коли я хочу використовувати grep, я хочу, щоб він був grep -n --кольоровим. Чи є спосіб це постійно додати?


6
+1 за "Тому що я лінивий ...". Коли-небудь вважали кар’єру розробником? :)
dr Hannibal Lecter

Відповіді:


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 , який виводить кольором за замовчуванням.


повага.
myusuf3

4
Повага, але жодної нагороди немає, так? ;-)
richq

1
Псевдоніми можна використовувати після труби просто чудово. Вони просто не повторюються.
maco

1
Гей ей, я підтримав. Мені це подобається краще, ніж псевдонім.
Дмитро Ліхтен

@marco: ти маєш рацію (з bash) - я думав про csh, де вони не можуть. На жаль!
richq

29

Змінити ~ / .bash_aliases Додайте рядок із написом:

alias grep='grep -n --color'

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


8
Або додайте рядок, .profileякщо ви хочете, щоб він працював у всіх оболонках, а не лише в башті.
LassePoulsen

1
це не буде працювати з xargs, наприклад:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

2

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

псевдонім grep = 'grep -n - колір "

після зміни закрийте і знову відкрийте термінал, оскільки файл читається лише під час відкриття терміналу.

Якщо ви подивитесь на файл .bashrc, ви знайдете більше псевдонімів за замовчуванням, таких як:

псевдонім ll = 'ls -l'

псевдонім la = 'ls -A'

псевдонім l = 'ls -CF'


1

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

Виберіть коротке ім’я, наприклад cgrep:

#!/bin/sh
grep --color -n "$@"

Помістіть його на своєму шляху, скажіть ~/bin(якщо ви читаєте UPE, це на вашому шляху :). Тоді такі речі спрацюють:

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.