모든 매뉴얼 페이지 내에서 하이픈이 포함 된 패턴을 검색하는 명령을 찾으려고합니다.
나는을 보고이 man man
세 가지 옵션을 찾았습니다.
-K
,--global-apropos
모든 매뉴얼 페이지에서 텍스트를 검색하십시오. 이것은 무차별 검색이며 시간이 걸릴 수 있습니다. 가능한 경우 검색해야하는 페이지 수를 줄이기 위해 섹션을 지정해야합니다. 검색어는 간단한 문자열 (기본값)이거나
--regex
옵션을 사용하는 경우 정규식 일 수 있습니다.
-w
,--where
,--path
,--location
실제로 매뉴얼 페이지를 표시하지 말고 포맷 할 소스 nroff 파일의 위치를 인쇄하십시오.
-S list
,-s list
,t--sections=list
목록은 검색 할 순서별 수동 섹션의 콜론 또는 쉼표로 구분 된 목록입니다. 이 옵션은
$MANSECT
환경 변수를 대체합니다 . (-s
맞춤법은 System V와의 호환성을위한 것입니다.)
나는 그것들을 결합 mark-modified-lines
하여 readline 옵션 인 패턴을 검색하려고 시도 했다 man bash
:
$ man -s1 -Kw mark-modified-lines
그러나 페이지를 찾지 못했습니다.
No manual entry for mark-modified-lines
그리고 명령은 코드와 함께 종료됩니다 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
를 정규 표현식으로 바꾸려고 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)
^^^^^^^
매뉴얼 페이지 내부에 하이픈이 포함 된 패턴을 검색 할 수 있습니까?