Grep 기본 색상 옵션


11

grep은 리눅스에서 가장 일반적으로 사용되는 명령 중 하나입니다. 출력 줄에서 검색 한 문자열을 강조 표시하는 기본 기능이 있다고 생각합니다. --color 옵션을 사용하면됩니다.

타이핑-매번 색상을 사용하는 것은 성가 시며 생산적이지 않습니다. grep --color로 동작하도록 grep을 변경할 수있는 방법이 있습니까?

grepd 라는 작은 스크립트를 작성하여 이것을 PATH 변수에 추가했습니다. 그러나 스크립트는 입력 grepd 에서 작동하지 않습니다 . 어떤 제안이라도 부탁드립니다.

#!/bin/bash
grep --color $1 $2

답변:


21

간단하게 예를 들어, 쉘의 구성 파일에 다음과 같은 별칭을 추가 .bashrc하거나 .bash_profile(사용에 따라, 여기 참조 )

alias grep='grep --color=auto'

간단히로 사용할 수 있습니다 grep.

간단한 명령 별칭이 똑같은 일을 할 때 일반적으로 스크립트를 만들 필요가 없습니다. 실제로 더 많은 옵션을 전달하려는 경우 스크립트가 작동하지 않습니다 grep. 인수를 처리 할 수있는 작은 스 니펫이 필요한 경우 함수를 사용해야합니다 .


9
또는 이와 동일하게 GREP_OPTIONS환경 변수를 설정하십시오 .export GREP_OPTIONS='--color=always'
Jérôme

fgrep 또는 egrep을 사용하는 경우 색상 옵션이 추가되지 않으므로 별도의 별칭이 필요합니다. 또한 @ Jérôme : GREP_OPTIONS는 grep 매뉴얼 페이지에서 더 이상 사용되지 않는 것으로 표시됩니다.
Thayne

@Thayne은 GNU grep 전용이며 FreeBSD grep과 같은 다른 제품은 아닙니다. 그리고 내가 알 수있는 한, 4 년이 지났으며 변경되어 여전히 지원됩니다. 감가 상각이 제거되었다는 의미는 아닙니다.
cde

이것이 내가 일반적으로하는 일이지만 어떤 경우에는 제대로 작동하지 않습니다. 예를 들어 : some_command | xargs grep fooxargs는 별칭을 사용하지 않기 때문에 색상이 지정되지 않습니다.
TM.

2
#!/bin/sh
exec grep --color "$@"

이것은 명령이 원하는 방식으로 작동하지 않을 때 쉘 스크립트로 명령을 "래핑"하는 표준 방법을 보여줍니다.

이를 exec통해 추가 프로세스 (스크립트 및 grep)를 작성하지 않아도됩니다. 원한다면 그대로 둘 수 있습니다.

"$@"스크립트의 모든 인수로 대체, 아니 얼마나 많은 문제. 쉘에 특수한 공백 및 기타 문자가 포함 된 인수를 올바르게 유지합니다.


"exec grep"은 "exec / bin / grep"
Berend de Boer

2
@BerenddeBoer 실제로는 아닙니다. "exec grep"은 잘 작동합니다. grep 경로를 찾는 데 아무런 문제가 없습니다.
Kenster

-1

퍼팅하려고 export GREP_COLORS='AUTO'나를 위해 작동 - 당신은 ~ / .bashrc에에.

...에서 man grep

       --color[=WHEN], --colour[=WHEN]
          Surround  the  matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields and groups of context lines) with escape sequences
          to display them in color on the terminal.  The colors are defined by the environment variable GREP_COLORS.  The deprecated environment variable GREP_COLOR is still supported, but  its  setting
          does not have priority.  WHEN is never, always, or auto.

5
GREP_COLORS실제 색상을 설정합니다. AUTO색상이 표시되지 않도록 설정합니다 . export GREP_OPTIONS = '-color = auto'가 답이되어야합니다.
user137369
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.