grep / egrep에 대한 'rc'구성 파일이 있습니까? (~ / .egreprc?)


37

나는 보통 개발할 때 약간의 grep을 수행하고, 항상 찾고 싶지 않은 확장이 있습니다 (* .pyc와 같은).

~ / .egreprc 또는 이와 유사한 것을 생성하고 항상 pyc 파일을 결과로 표시하지 않도록 필터링을 적용 할 수 있습니까?

이것이 가능합니까, 아니면 이런 식으로 grep을 사용하기 위해 별명을 작성하고 grep 대신 별명을 호출해야합니까?

답변:


66

grep에 대한 rc 파일은 없지만 환경 변수 GREP_OPTIONS를 공백으로 구분 된 옵션 목록으로 설정하여 모든 grep 명령에 적용 할 수 있습니다. 이를 위해서는 GNU grep (포함되지 않은 Linux, Cygwin 및 기타 시스템에서 구현) 2.4가 필요합니다. 2.4; 이 --exclude옵션은 GNU grep 2.5의 새로운 기능입니다. 이런 식으로 당신의 ~/.profile:

export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'

이 작업을 수행했지만 기본 옵션없이 grep을 한 번 실행하려면을 실행 grep --color=never하여 GREP_OPTIONS변수를 무시하거나 (예 : 색상을 강제로 해제) 변수를 비울 수 GREP_OPTIONS= grep …있습니다.

또 다른 가능성은 grep의 별명을 정의하는 것입니다. 다음과 같은 변형을 사용합니다.

alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'

1
이것이 내가 찾던 답변입니다. ~ / .profile에 대해 더 많이 읽을 것 같습니다. @Gills, 당신은 남자입니다. 도움 감사합니다!
누군가 아직도 당신을 사용합니다 MS-DOS

1
이 작업을 수행 할 수있는 두 가지 가능성 (GREP_OPTIONS 및 별칭 grep)이 고려됩니다. 둘 중 하나가 선호됩니까? 그 이유는 무엇?
Christoph Wurm

4
@Legate : 중요한 차이점은 스크립트 호출에 GREP_OPTIONS영향을 미치지 만 grep별칭은 그렇지 않습니다. 따라서 GREP_OPTIONS드물게 사용해야합니다. 가장 일반적인 용도는 for --color=auto이며, 이는 출력이 터미널 인 경우에만 적용되므로 스크립트에서 무해합니다.
Gilles 'SO- 악마 그만해'

GREP_OPTIONS는 더 이상 사용되지 않습니다. 별칭이나 스크립트를 사용하십시오
Steven Penny

3

ack 은 당신이 원하는 것을 더 할 수 있습니다.

그것은 기본적으로 바이너리 파일을 무시하고 당신이 원하는대로 당신은 다른 파일 형식을 무시하고 그것을 말할 수있는 --notext, --nohtml그것은 당신이 당신의 자신의 유형을 사용자 정의 할 수 있도록 너무 rc 파일을 정의 할 수있는 기능이있다 등.


나는 ack도 사용하고 있지만 마음에 들지 않았다. 실제로 빠르지 만 모든 설치에서 사용할 수있는 것은 아니므로 grep에 대해 생각하고있었습니다. 감사!
누군가 아직도 당신을 사용합니다 MS-DOS

2
ack는 단일 Perl 프로그램으로 일반 텍스트 파일로 다운로드 할 수 있습니다. 원하는 경우 betterthangrep.com/ack-standalone으로 이동 하여 내용을 잘라서 파일에 붙여 넣을 수 있습니다. Perl을 실행할 수 있는 어느 곳에서나 사용할 수 있도록 특별히 만들었습니다 .
Andy Lester

0

귀하의 질문에 대한 직접적인 답변이 아닙니다. 그러나 grep에는 * .pyc를 포함한 모든 이진 파일을 무시하는 옵션이 있습니다. 옵션은-I

grep -rI hello .

0

GNU grep/ egrep에는 없습니다.

어쨌든 나중에 당신이 당신의 특별한 구성과 잊어 버린 무언가를 찾으려고 할 때 매우 혼란 스러울 수 있기 때문에 어쨌든 특별히 명명 된 별명이나 스크립트가 이것을 원할 것입니다.


3
GREP_OPTIONS에서이 ~/.profile가까이 온다.
Gilles 'SO- 악마 그만'

1
@Gilles — 좋은 지적입니다. 사실, 나는 내가 스스로 설정 한 것을 잊었다 --color=auto!
mattdm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.