매뉴얼 페이지 검색 처리

매뉴얼 페이지 검색 처리

man -K포맷된 출력은 검색되지 않고 마크업 소스가 검색되는 것 같습니다 . 예를 들어

 man -K warranties

warrantiesxcalc(1)과 같이 문자열을 포함하지 않는 많은 맨페이지가 제공됩니다 . 또한 특수 문자가 포함된 문자열을 검색하는 것은 매우 어렵습니다.

 man -K 7 '\f'

포함되지 않은 페이지가 많이 제공됩니다 \f.

 man -K 7 '\\f'

거짓 긍정을 표시하지 않는 것 같지만 string 을 포함하는 ascii(7)도 표시하지 않습니다 \f.

이 문제를 어떻게 해결할 수 있나요?

답변1

~에 따르면리눅스수동, 첫 번째 예에서는 리터럴을 검색합니다.\f, 글꼴 변경에 대한 대부분의 매뉴얼 페이지에서 찾을 수 있습니다.

The international counterpart of ASCII is known as ISO 646.
.LP
The following table contains the 128 ASCII characters.
.LP
C program \f(CW\(aq\eX\(aq\fP escapes are noted.
.if t \{\
.ft CW
\}
.TS
l l l l l l l l.

이는 ascii(7)Debian 3.44-1 패키지를 보여줍니다 manpages. 파일에는 다른 인스턴스가 포함되어 있지 않습니다.\f, 그리고 하나도 없어요\\f.

FreeBSD man가 부족 해서-K옵션이며 OSX는 ascii.7글꼴 전환을 사용하지 않습니다.\f, 당신은 아마도 Linux를 언급하고있을 것입니다. 리눅스man프로그램은 정규식을 옵션으로 지원합니다.--regex. 기본적으로 정규식을 사용하지 않습니다.

찾고 계시기 때문에포맷된 \f, 해당 문자 쌍을 생성한 토큰을 찾아야 합니다. 에서는 ascii.7선이 표시됩니다.

014   12    0C    FF  '\f' (form feed)        114   76    4C    L

에 의해

012     10      0A      LF  \(aq\en\(aq (new line)      112     74      4A      J

즉, groff 매크로를 사용합니다.\en, 다음을 검색할 수 있습니다.

man -K 7 '\en'

더 짧은 출력을 얻습니다(Debian 7에서는 5811줄 vs. 57322줄). 여기에 결과를 표시하려면 머리글/바닥글 줄만 있으면 충분합니다.

ASCII(7)                    Linux Programmer's Manual                    ASCII(7)
Linux                               2009-02-12                           ASCII(7)
COPY(7)                  PostgreSQL 9.1.22 Documentation                  COPY(7)
PostgreSQL 9.1.22                   2016-05-27                            COPY(7)
CPUSET(7)                   Linux Programmer's Manual                   CPUSET(7)
Linux                               2008-11-12                          CPUSET(7)
GITCORE-TUTORIAL(7)                 Git Manual                GITCORE-TUTORIAL(7)
Git 1.7.10.4                        03/19/2016                GITCORE-TUTORIAL(7)
GROFF_CHAR(7)                                                       GROFF_CHAR(7)
Groff Version 1.21                 25 June 2012                     GROFF_CHAR(7)
GROFF_MDOC(7)          BSD Miscellaneous Information Manual         GROFF_MDOC(7)
GROFF_TRACE(7)                                                     GROFF_TRACE(7)
Groff Version 1.21                 25 June 2012                    GROFF_TRACE(7)
MAN(7)                      Linux Programmer's Manual                      MAN(7)
Linux                               2012-08-05                             MAN(7)

물론 이것은 관련 마크업을 아는 것에 달려 있습니다.다른같은 것을 표현하는 방법). 태그를 보는 이유 man는 검색 기능에 의존할 수 없기 때문입니다.포맷된맨 페이지.

얼마 전까지만 해도 catman형식이 지정된 매뉴얼 페이지용 디렉토리를 저장하는 것이 일반적이었습니다.

  • 매뉴얼 페이지 포맷이 느리고
  • 일부 공급업체는 형식화된 매뉴얼 페이지를 배포하지 않습니다(또는 Sun과 같은 일부 공급업체는 nroff가 아닌 형식으로 마크업을 제공하여 상황을 복잡하게 만듭니다).

한 사람이 하나 만들 수 있어요KWIC 지수모든 매뉴얼 페이지의 모든 단어는 형식이 지정되어 있지만 여전히

  • 공간을 많이 차지하며,
  • 생성하는데 시간이 많이 걸린다

관련 정보