
저는 Solaris 10을 사용하고 있으며 grep
in /usr/bin
과 /usr/xpg4/bin
. . grep
모든 답변은 내 버전에서 사용할 수 없는 스위치에 -r
대해 설명합니다 .-R
grep
답변1
표준(POSIX) 구문은 다음과 같습니다.
find /path/to/parent -type f -exec grep 'XXX' /dev/null {} +
( 항상 파일 이름을 인쇄하는지 /dev/null
확인하는 것입니다 ). grep
이는 Solaris를 포함한 모든 POSIX 시스템에서 작동합니다. 작동하지 않는 것으로 알려진 유일한 90년대 이후 시스템은 오래된(지금은 매우 오래된) GNU 시스템입니다.
GNU는 처음에 이에 대한 -print0
조건자와 옵션을 도입했습니다.-0
xargs
find /path/to/parent -type f -print0 | xargs -0 grep 'XXX' /dev/null
이제 이를 지원하는 몇 가지 다른 구현이 있지만 Solaris는 지원하지 않습니다.
위에서는 이론적으로 파일이 없으면 -r
실행을 방지하는 옵션을 추가하고 싶지만 그렇지 않습니다.grep
가지고 다닐 수 있는이 특별한 경우에는 기능적 차이가 없습니다.
답변2
GNU 사용 grep
(설치된 경우):
ggrep -A3 -B23 'word' -R /log/
정규식이 word
일치하면 폴더의 모든 파일을 확인하고 파일 경로와 함께 출력을 표시합니다.
GNU는 플래그를 grep
지원합니다 -R
.
답변3
/usr/sfw/bin/ggrep
간단히 다음과 같은 경로 에 있는 솔라리스의 ggrep을 사용하세요 .
/usr/sfw/bin/ggrep -H 'search-term' <file-name>*
특정 단어로 시작하는 파일 이름 그룹에서 검색어를 검색합니다.