매뉴얼 페이지에서 텍스트를 찾는 방법은 무엇입니까?

매뉴얼 페이지에서 텍스트를 찾는 방법은 무엇입니까?

매뉴얼 페이지에서 텍스트(예: 특정 옵션)를 찾으려면 명령줄에서 grep하는 것이 유용하다고 생각합니다.

그러나 아래와 같이 패턴 만 일치 하고 패턴은 아무것도 일치하지 않는 grep매뉴얼 페이지에서 작업할 때 예상대로 작동하지 않습니다 ( )."-f""-""--file"alias grep='grep --color=always'

nlykkei-mbp:~ nlykkei$ alias grep
alias grep='grep --color=always'
nlykkei-mbp:~ nlykkei$ man grep | grep -e "-f"
          [-e pattern] [-f file] [--binary-files=value] [--color[=when]]
     -F, --fixed-strings
     -f file, --file=file
     -h, --no-filename
             --binary-file=without-match option.
     -L, --files-without-match
     -l, --files-with-matches
     --binary-files=value
     and the behaviour of the -f flag when used with an empty pattern file is
nlykkei-mbp:~ nlykkei$ man grep | grep -e "--file"
nlykkei-mbp:~ nlykkei$ echo "--file" | grep -e "--file"
--file
nlykkei-mbp:~ nlykkei$ ▒ 

대신 일치하는 파이프 텍스트가 echo예상대로 작동하는데 이것이 매뉴얼 페이지의 "보이지 않는" 형식과 관련이 있습니까? 매뉴얼 페이지의 grep 텍스트를 신뢰할 수 있습니까?

참고: 나는 man -k및 에 대해 알고 있지만 man -K이것들로는 내가 달성하려는 것을 완전히 해결하지 못합니다.

답변1

해결 방법 1: man에 대한 특정 conf 파일 사용

구성 파일.man.raw.conf

NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b

사용 예man

MyMAC:tmp e444$$ man  -C .man.raw.conf grep | grep -e --file
     -f file, --file=file
     -L, --files-without-match
     -l, --files-with-matches

해결 방법 2: 사용colcrt -

MyMAC:tmp e444$  man grep | colcrt -  | grep -e --file
     -f file, --file=file
     -L, --files-without-match
     -l, --files-with-matches

ps 1: - 더 많은 쓰레기를 추가하는 colcrt 없음

ps 2: 이 질문과 답변은 Linux에서는 동작이 다르기 때문에 의미가 없습니다.

답변2

당신은해야아니요맨 페이지에서 grep을 사용하십시오. 매뉴얼 페이지가 인코딩되어 있고(일반 영어 아님) 내용이 검색 중인 문장과 일치하지 않습니다.

프로그램을 사용하여 표시 man한다고 가정합니다.less매뉴얼 페이지검색하는 데 사용할 수 있는 방법이 있습니다 less. 계속 읽으십시오.

less입력 man grep(또는 다른 명령)을 통해 매뉴얼 페이지가 표시되는지 확인하려면 다음을 누르십시오.입력하다매뉴얼 페이지를 보는 동안 키를 누르십시오.시간. 적다면 제목돕다렌더링된 페이지 제목은 다음과 같습니다.Less 명령 요약. 일단 이것을 확인합니다. less자체적으로 검색할 수 있다는 것을 알아야 합니다 .quit표시된 도움말 페이지 로 이동하려면 (필요한 경우) 키를 사용하십시오./. 다음을 누르면:

/-f

-f그런 다음 Enter를 누르면 강조 표시된 내용이 표시됩니다 (누르면 n다음 일치 항목으로 이동합니다).

또는 문자열과 일치하는 줄만 확인해야 하는 경우 다음을 수행하세요.

&-f

명령줄에서 이 유형의 검색을 활성화해야 하는 경우 다음을 수행합니다.

$ LESS=+'/-f' man grep

관련 정보