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)로 전송되는 오류 메시지를 포함하여 find 명령의 모든 출력은 stderr
이제 stdout
(파일 설명자 1)로 이동한 다음 grep
명령에 의해 필터링됩니다.
이는 bash/sh
쉘을 사용하고 있다고 가정합니다.
당신은 아래에서 tcsh/csh
사용할 것입니다
find / -name art |& grep ....