저는 Solaris 10을 사용하고 있는데 grep
하나는 in /usr/bin
이고 다른 하나는 out입니다 /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
Solaris에서 다음과 같은 경로에 존재하는 ggrep을 사용하면 됩니다 .
/usr/sfw/bin/ggrep -H 'search-term' <file-name>*
특정 단어로 시작하는 파일 이름 집합에서 검색어를 검색합니다.