현재 도트 파일을 작성 중이고 프로젝트 디렉토리의 모든 주석을 나열하고 싶습니다 TODO: ...
. 이를 위해 bash 별칭을 만들었습니다.
alias mytodo='grep --recursive "TODO: "'
잘 작동하지만 별칭 정의도 반환합니다. 샘플 출력입니다.
devs@dotfiles$ mytodo
bash/profile.d/aliases/: alias mytodo='grep --recursive "TODO: "'
bin/git_branch_status/: # TODO: Add checking of remote branch status.
tools/setup/: # TODO: Add search for existing symlinks.
별칭 정의를 사용하여 해당 행을 명시적으로 제외하려면 어떻게 해야 합니까?
답변1
정규식 자체 일치를 방지하는 한 가지 방법은 개별 문자를 문자 클래스로 묶는 것입니다.
alias mytodo='grep --recursive "TOD[O]: "'
또는 (에스티븐 차제라스), 패턴에 추가 따옴표를 사용하여 별칭을 저장할 수 있습니다.
alias mytodo='grep --recursive "TO''DO: "'
그런 다음 해당 행을 여전히 찾을 수 없지만 별칭에는 원래 패턴이 포함되어 있습니다. 예를 들어 다음을 사용하려는 경우에 유용합니다. 고정된 문자열 일치( grep -F
).
답변2
간단히 파이프하여 grep -v 'alias'
모든 alias
.