저는 주로 grep
개발할 때 이것을 사용하는데 항상 제외하고 싶은 확장 기능이 있습니다(예 *.pyc
: ).
~/.egreprc
하나 또는 유사한 것을 만들고 필터링을 추가하여 pyc
모든 결과에서 파일을 제외하는 것이 가능합니까 ?
grep
이것이 가능합니까, 아니면 이런 식으로 사용할 별칭을 만들고 대신 별칭을 호출 해야 합니까 grep
?
답변1
아니요, grep에는 rc 파일이 없습니다.
GNU grep 2.4부터 2.21까지는 환경 변수의 옵션을 적용했지만 GREP_OPTIONS
최신 버전에서는 더 이상 이를 따르지 않습니다.
대화형으로 사용하려면 쉘 초기화 파일에서 별명( .bashrc
또는 )을 정의하십시오 .zshrc
. 나는 다음 변형을 사용합니다.
alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
별칭으로 전화를 걸고 가끔 옵션 없이 전화를 걸고 grep
싶다면 를 입력하세요 . 백슬래시는 별칭을 우회합니다.grep
\grep
답변2
확인하다당신이 원하는 모든 것과 그 이상을 할 수 있습니다.
기본적으로 바이너리 파일을 무시합니다. 원하는 다른 파일 형식 등을 무시하도록 지시할 수 있습니다 --notext
. --nohtml
또한 rc 파일을 정의하여 자신만의 유형으로 사용자 정의할 수 있는 기능도 있습니다.
답변3
귀하의 질문에 대한 직접적인 답변은 아닙니다. 그러나 grep은 *.pyc를 포함한 모든 바이너리 파일을 무시하도록 선택할 수 있습니다. 옵션은 다음과 같습니다-I
grep -rI hello .
답변4
적어도 2016년 이후(에 따르면스티븐 페니의 댓글), grep에 권장되는 방법은 별칭이나 스크립트를 사용하는 것입니다.
$ export GREP_OPTIONS="--exclude='*~'"
$ grep -r someStringThatDoesNotExist
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
$