it-swarm-ko.tech

grep 명령을 grep -n --colour로 바꾸시겠습니까?

나는 게으 르기 때문에 .. 언제든지 grep을 사용하고 싶을 때 grep -n --colour가 되길 원합니다. 이것을 영구적으로 매핑하는 방법이 있습니까?

17
Tree77

$ HOME/.bashrc 파일에서 다음을 추가하십시오.

export GREP_OPTIONS="-n --color"

이것은 egrep에서도 작동하며 grep을 사용하는 별칭에서도 작동합니다.

Update : GREP_OPTIONS는 grep 2.21에서 더 이상 사용되지 않으며이 솔루션을 사용하면 다음 경고가 표시됩니다.

grep: warning: GREP_OPTIONS is deprecated; please use an alias or script

따라서 가장 좋은 해결책은 maco의 답변에 대한 조언 을 따르는 것입니다. 또는 ag 를 사용하여 기본적으로 색상으로 출력하도록 전환하십시오.

31
richq

~/.bash_aliases 편집 다음과 같은 줄을 추가하십시오.

alias grep='grep -n --color'

~/.bash_aliases는 ~/.bashrc에 의해 자동으로 포함됩니다

29
maco

별명을 정의하는 홈 디렉토리에있는 .bashrc 파일을 수정할 수 있습니다.이 설정은 기본 설정을 대체합니다.

별칭 grep = 'grep -n-색상'

변경 후 터미널을 열 때만 파일을 읽으므로 터미널을 닫고 다시여십시오.

.bashrc 파일을 살펴보면 다음과 같은 기본 별칭이 더 있습니다.

별명 ll = 'ls -l'

별명 la = 'ls -A'

별명 l = 'ls -CF'

2
Paolo Sammicheli

다른 답변에 언급 된 별칭 외에도 스크립트를 만듭니다. 별명 자체가 항상 작동하지는 않으며, 스크립트 레이어는 사람이 읽을 수있는 출력을하기에 충분히 빠릅니다.

cgrep과 같은 짧은 이름을 선택하십시오.

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

경로에 ~/bin라고 말하십시오 (UPE를 읽는 경우 경로에 있습니다). 그런 다음 이런 것들이 작동합니다 :

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

나는 여전히 행복하지 않아서 cgrep을 선택적으로 입력하지 않고 터미널에 stdout을 할 때 grep이 항상 색상을 나타내기를 원했습니다.

0
rfabbri