grep이 'No such file or directory'오류를 출력하지 않게하려면 어떻게해야합니까?
나는 git이 관리하는 많은 코드를 통해 grepping하고 있으며 grep을 수행 할 때마다 다음과 같은 형식의 메시지 더미를 볼 수 있습니다.
> grep pattern * -R -n
whatever/.git/svn: No such file or directory
그 라인을 없앨 수있는 방법이 있습니까?
-s
또는 --no-messages
플래그를 사용하여 오류를 억제 할 수 있습니다 .
-s, --no-messages는 오류 메시지를 표시하지 않습니다
grep pattern * -s -R -n
git 저장소를 통해 grepping하는 경우을 사용하는 것이 좋습니다 git grep
. 당신은 -R
경로 를 전달할 필요가 없습니다 .
git grep pattern
현재 디렉토리의 모든 일치 항목이 아래로 표시됩니다.
이와 같은 오류는 일반적으로 "표준 오류"스트림으로 전송되며 파일로 파이프하거나 대부분의 명령에서 사라질 수 있습니다.
grep pattern * -R -n 2>/dev/null
링크가 끊어지면 (존재하지 않는 파일을 가리키는 심볼릭 링크) 여러 번 발생하는 grep은 존재하지 않는 대상 파일을 검색하려고 시도합니다 (따라서 정확하고 정확한 오류 메시지).
일반적으로 콘솔을 통해 sysadmin 작업을 수행하는 동안 귀찮게하지 않지만 스크립트 내에서 "find"가있는 텍스트 파일을 찾은 다음 각 항목을 grep합니다.
find /etc -type f -exec grep -nHi -e "widehat" {} \;
대신에:
grep -nRHi -e "widehat" /etc
나는 일반적으로 grep이 재귀 자체를 수행하지 못하게합니다. 일반적으로 건너 뛸 디렉토리가 몇 개 있습니다 (.git, .svn ...).
다음과 같은 자세로 영리한 별칭을 수행 할 수 있습니다.
find . \( -name .svn -o -name .git \) -prune -o -type f -exec grep -Hn pattern {} \;
언뜻보기에는 과도하게 보일 수 있지만 일부 패턴을 필터링해야 할 때 매우 편리합니다.
xargs 에서 -0
옵션 을 사용해 보셨습니까 ? 이 같은:
ls -r1 | xargs -0 grep 'some text'
-I
grep에서 사용하십시오 .
예 : grep SEARCH_ME -Irs ~/logs
.
'Programing' 카테고리의 다른 글
Linq에서 int를 문자열로 변환하는 데 문제가 있습니다. (0) | 2020.05.09 |
---|---|
Android Studio에서 경고 화면 옵션은 어디에 있습니까? (0) | 2020.05.09 |
언제 ASP.NET MVC에서 비동기 컨트롤러를 사용해야합니까? (0) | 2020.05.09 |
@ 미디어 최소 너비 및 최대 너비 (0) | 2020.05.09 |
Java VM이 몇 개의 스레드를 지원할 수 있습니까? (0) | 2020.05.09 |