매뉴얼 페이지 소개 또는 설명을 인쇄하는 쉬운 방법

매뉴얼 페이지 소개 또는 설명을 인쇄하는 쉬운 방법

매뉴얼 페이지의 간략한 요약(설명이나 소개)을 빠르게 볼 수 있는 쉬운 방법이 있습니까? 이 작업을 수행할 수 있는 옵션/플래그가 없습니다. 이 작업을 수행할 수 있는 다른 도구가 있습니까?

답변1

이것요약 요약언급된 OP는 무엇입니까?이름특수 가공된 부분mandb또는 makewhatis(데이터 준비whatis그리고apropos.

관례적으로 이는 이러한 도구에서 한 줄입니다(실제 맨페이지의 길이로 인해 줄 바꿈될 수도 있음). 또한(여전히 관례대로) 제목(왼쪽)과 간단한 설명 사이에 대시가 있습니다.

추가 자료(Linux):

man -k 인쇄 기능
검색 키워드의 간단한 설명 및 매뉴얼 페이지 이름인쇄 기능정규식으로. 일치하는 항목을 모두 인쇄하세요. 동등하다apropos printf.

man -f 우편
참조된 매뉴얼 페이지를 찾고 smail발견된 항목에 대한 간략한 설명을 인쇄하십시오. 동등하다whatis smail.

apropos목록은 짧은 설명에 있는 줄의 모든 부분에 대한 일치 항목을 표시하므로 더 많은 결과를 제공합니다. 예를 들어 다음과 같이 apropos printf표시될 수 있습니다.

asprintf (3)         - print to allocated string
dprintf (3)          - print to a file descriptor
fprintf (3)          - formatted output conversion
fwprintf (3)         - formatted wide-character output conversion
printf (1)           - format and print data
printf (3)           - formatted output conversion
snprintf (3)         - formatted output conversion
sprintf (3)          - formatted output conversion
swprintf (3)         - formatted wide-character output conversion
vasprintf (3)        - print to allocated string
vdprintf (3)         - print to a file descriptor
vfprintf (3)         - formatted output conversion
vfwprintf (3)        - formatted wide-character output conversion
vprintf (3)          - formatted output conversion
vsnprintf (3)        - formatted output conversion
vsprintf (3)         - formatted output conversion
vswprintf (3)        - formatted wide-character output conversion
vwprintf (3)         - formatted wide-character output conversion
wprintf (3)          - formatted wide-character output conversion
XtAsprintf (3)       - memory management functions

하지만 whatis특정 주제 이름을 가진 페이지를 찾으려면 다음을 수행하세요.

printf (1)           - format and print data  
printf (3)           - formatted output conversion

다른 시스템은 다를 수 있습니다.

  • OSX 매뉴얼 페이지man(1), 옵션은 -k다음과 같습니다.apropos. 차례로,apropos 설명하다"apropos는 키워드 word를 포함하는 시스템 명령에 대한 간단한 설명을 찾기 위해 일련의 데이터베이스 파일을 검색하고 그 결과를 표준 출력에 표시합니다."라고 말합니다.이름해당 부분에는 "apropos - Whatis 데이터베이스에서 문자열 검색"이라고 나와 있습니다.
  • OSX 매뉴얼 페이지manpages(5)맨페이지의 구조가 제공됩니다.

각 경우의 프로그램에는 man및 에 해당하는 옵션이 있을 수 있지만 다양한 Unix 계열 시스템에서는 별도의 프로그램이 더 일반적으로 사용됩니다.aproposwhatis

흥미롭게도 POSIX에만 해당man(및 -k옵션), 일치하지 않습니다 whatis. 이유에 명시된

이것-f이 옵션이 고려되었지만 구현 차이로 인해 이번 POSIX.1-2008 볼륨에는 포함되지 않았습니다.

또한 POSIX는 용어를 사용하지 않습니다.바로, 그러나 설명합니다. 마찬가지로 POSIX는 (적어도 이 섹션에서는) 개별 맨페이지의 구조를 설명하거나 섹션으로 구성하려고 시도하지 않습니다. 이는 시스템에 따른 기능입니다.

답변2

다음 몇 가지 기능은 막대를 표시하고 특정 막대를 추출하는데, 개선될 수 있다고 확신합니다.

사용:

mansubs <명령>
manedit <명령> <섹션>

mansubs() {
 man "$1" |col -bx|awk '/^[A-Z ]+$/ {print}'
}

manedit() {
 man "$1" |col -bx|awk -v S="$2" '$0 ~ S {cap="true"; print} $0 !~ S && /^[A-Z ]+$/ {cap="false"} $0 !~ S && !/^[A-Z ]+$/ {if(cap == "true")print}'
}

예를 들어:

$ mansubs grep
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
REGULAR EXPRESSIONS
ENVIRONMENT VARIABLES
EXIT STATUS
COPYRIGHT
BUGS
SEE ALSO
NOTES

$ manedit grep SYNOPSIS
SYNOPSIS
       grep [OPTIONS] PATTERN [FILE...]
       grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

답변3

"설명"의 의미에 따라 다릅니다.man옵션이 있습니다:

-f, --whatis
      Equivalent to whatis.  Display a short description from the man‐
      ual page, if available.  See whatis(1) for details.

그래서:

$ man -f man                                   
man (7)              - macros to format man pages
man (1)              - an interface to the on-line reference manuals
man (1p)             - display system documentation
$ whatis man 
man (7)              - macros to format man pages
man (1)              - an interface to the on-line reference manuals
man (1p)             - display system documentation

답변4

명령줄 스위치를 입력하기 전에 매뉴얼 페이지의 설명 섹션을 참조하는 경우

man <command> | col -b > /tmp/randomtempfile

grep그런 다음 sed이를 사용하여 필요한 정보를 추출할 수 있습니다 randomtempfile. 내가 아는 한, 사람에게는 요약 페이지를 표시할 수 있는 옵션이 없습니다.

관련 정보