Linux(SuSE)에서 이 명령을 실행하면 다음과 같습니다.
find / -name ant
다음 형식의 오류 메시지가 많이 나타납니다.
find: `/etc/cups/ssl': Permission denied
find
이러한 오류 표시를 건너뛰고 액세스 권한이 있는 파일만 시도하는 데 필요한 매개변수가 있습니까 ?
답변1
에 보낸 메시지를 필터링할 수 있습니다 stderr
. 나는 stdout
이러한 상태 로 리디렉션하는 것을 선호합니다 .
find / -name art 2>&1 | grep -v "Permission denied"
설명하다:
즉, 모든 일반 출력은 표준 출력( stdout
)으로 보내집니다. 모든 오류 메시지는 표준 오류( stderr
)에 대한 것입니다.
grep
일반적으로 지정된 문자열을 찾아 인쇄한 다음 -v
이를 반전하므로 모든 문자열을 찾아 인쇄합니다.아니요"권한이 거부되었습니다"가 포함되어 있습니다. 일반적으로 (파일 설명자 2)로 전송되는 stderr
오류 메시지를 포함하여 find 명령의 모든 출력은 이제 stdout
(파일 설명자 1)로 이동한 다음 명령에 의해 필터링됩니다 grep
.
이는 bash/sh
쉘을 사용하고 있다고 가정합니다.
tcsh/csh
당신이 사용할 곳
find / -name art |& grep ....