모든 매뉴얼 페이지에서 하이픈이 포함된 패턴을 검색하는 명령을 찾으려고 합니다.
확인 man man
하고 다음 3가지 옵션을 찾았습니다.
-K
,--global-apropos
모든 매뉴얼 페이지에서 텍스트를 검색합니다. 이는 시간이 걸릴 수 있는 무차별 검색이므로 가능하면 검색해야 하는 페이지 수를 줄이기 위해 섹션을 지정해야 합니다. 검색어는 단순 문자열(기본값) 또는 정규식(
--regex
이 옵션을 사용하는 경우)일 수 있습니다.
-w
,--where
,--path
,--location
실제로 매뉴얼 페이지를 표시하지는 않지만 포맷할 소스 nroff 파일의 위치를 인쇄합니다.
-S list
,-s list
,t--sections=list
list는 검색할 주문별 수동 부품의 콜론 또는 쉼표로 구분된 목록입니다. 이 옵션은
$MANSECT
환경 변수를 재정의합니다. (이-s
철자는 System V와의 호환성을 위한 것입니다.)
나는 그것들을 mark-modified-lines
다음에 설명된 readline 옵션인 검색 패턴과 결합해 보았습니다 man bash
.
$ man -s1 -Kw mark-modified-lines
하지만 페이지를 찾을 수 없습니다.
No manual entry for mark-modified-lines
명령은 code 로 종료됩니다 16
.
명령 구문이 잘못되었을 수도 있다고 생각했지만 명령이 내 시스템에서 다음 단어가 포함된 5개의 매뉴얼 페이지를 올바르게 찾았기 때문에 그런 것은 아닌 것 같습니다 guitar
.
$ man -s1 -Kw guitar
/usr/share/man/man1/ffmpeg-all.1.gz
/usr/share/man/man1/ffserver-all.1.gz
/usr/share/man/man1/ffplay-all.1.gz
/usr/share/man/man1/ffmpeg-filters.1.gz
/usr/share/man/man1/ffprobe-all.1.gz
아마도 단어의 하이픈이 문제의 원인일지도 모른다고 생각했습니다. 다음과 같이 설명된 옵션을 찾았 man bash
습니다 .--regex
--regex
정규식
apropos(1)
을 검색할 때 "가장 좋은" 페이지를 선택할 수 있는 합리적인 방법이 일반적으로 없기 때문에 이 옵션은 을 의미합니다-a
.
이 옵션을 사용하고 단어를 mark-modified-lines
regex로 바꾸려고 시도했습니다 mark.modified.lines
. 여기서 하이픈 자체는 .
모든 문자와 일치하는 메타 문자로 대체되었습니다.
$ man -s1 -Kw --regex 'mark.modified.lines'
bash
텍스트가 매뉴얼 페이지 에 기록되어 있음을 알고 있지만 여전히 페이지가 인쇄되지 않습니다 .
.
다음 명령으로 인해 정규식의 메타 문자가 예상대로 구문 분석되는 것 같습니다.
$ man -s1 -Kw --regex 'mark.mo'
인쇄:
/usr/share/man/man1/x11perfcomp.1.gz
/usr/share/man/man1/xditview.1.gz
두 맨페이지( x11perfcomp
, xditview
) 모두 정규식과 일치합니다 mark.mo
. 보다 구체적으로 man x11perfcomp
다음 줄을 포함합니다.
Mark Moraes wrote the original scripts to compare servers.
^^^^^^^
다음 줄을 포함 하세요 man xditview
.
Mark Moraes (University of Toronto)
^^^^^^^
그러나 man -s1 -Kw --regex 'mark.mo'
bash 매뉴얼 페이지는 인쇄되지 않습니다.
/usr/share/man/man1/bash.1.gz
다음 줄이 포함되어 있기 때문에 그럴 것이라고 예상했지만:
mark-modified-lines (Off)
^^^^^^^
하이픈이 포함된 패턴을 매뉴얼 페이지에서 검색할 수 있습니까?
답변1
man -K
렌더링이 아닌 매뉴얼 페이지의 소스 코드를 검색합니다(그림 참조 man
). 하이픈은 인코딩되어 있으므로 다음 \-
을 검색해야 합니다.
man -s1 -Kw 'mark\-mo'
예, 매우 모호합니다.이 man
페이지-K
옵션 설명에 언급된
다음을 검색합니다.원천렌더링된 텍스트가 아닌 매뉴얼 페이지의 내용이므로 소스 파일 등의 주석으로 인해 오탐이 발생할 수 있습니다. 렌더링된 텍스트 검색 속도가 훨씬 느려집니다.
하지만 이를 올바르게 사용하려면 검색 중인 텍스트의 소스 표현에 대한 지식이 필요합니다.