모든 매뉴얼 페이지를 읽지 않고 매뉴얼 페이지의 헤더 목록을 보고 싶습니다. 예를 들어, bash 매뉴얼 페이지( )에는 , , 등 man bash.1
많은 제목이 있습니다 . 본질적으로 나는 이 페이지 상단에 표시된 것과 같은 목록을 원합니다.NAME
SYNOPSIS
COPYRIGHT
DESCRIPTION
HTML 매뉴얼 페이지. 명령줄에서 로컬로 가져오는 방법이 있습니까?
이는 제공된 이름과 다른 이름("문법" 대신 "문법")을 사용하여 섹션을 검색하려는 경우에 유용할 수 있습니다. 또는 때로는 찾고 있는 것이 무엇인지조차 모르는 경우도 있습니다.
답변1
시스템에서 사용mandoc
, 마크다운 형식으로 출력을 요청한 다음 다음 grep
으로 시작하는 줄을 요청하면 됩니다 #
.
$ man -T markdown man | grep '^#'
# NAME
# SYNOPSIS
# DESCRIPTION
# ENVIRONMENT
# FILES
# EXIT STATUS
# EXAMPLES
# SEE ALSO
# STANDARDS
# HISTORY
이것이 작동하지 않는 매뉴얼의 경우 HTML을 대신 전달할 수 있습니다:
$ man -T html git | xmlstarlet sel -t -v '//h1/@id' -nl
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
GIT_COMMANDS
HIGH
LOW
GUIDES
CONFIGURATION_MECHANISM
IDENTIFIER_TERMINOLOGY
SYMBOLIC_IDENTIFIERS
FILE/DIRECTORY_STRUCTURE
TERMINOLOGY
ENVIRONMENT_VARIABLES
DISCUSSION
FURTHER_DOCUMENTATION
AUTHORS
REPORTING_BUGS
SEE_ALSO
GIT
NOTES
답변2
편집하다:
나는 매뉴얼 페이지 제목이 (대부분의 경우) 유일하게 왼쪽으로 정렬된 텍스트라는 것을 알고 있습니다. /^\w
매뉴얼 페이지를 열고 /up/down 을 사용하여 스크롤한 후 N
간단한 검색을 수행 할 수 있습니다 n
.
스크립트에서 헤더를 찾으려는 경우 아래의 원래 답변이나 다른 사람의 답변이 도움이 될 수 있습니다.
원래:
운 좋게도 나는 다음을 기반으로 솔루션을 찾았습니다.이 답변(도움이 되셨다면 손가락 추천 부탁드립니다.)
zcat $(man -w bash.1) | grep -i '^\.sh'
man -w
매뉴얼 페이지 소스의 위치를 가져옵니다(예 /usr/share/man/man1/bash.1.gz
: ). zcat
소스는 동적으로 압축이 풀려 로 전송되며 stdout
호출 은 "섹션 헤더"를 표시하는(대소문자 구분 안 함) 시작하는 줄을 grep
검색합니다 ..sh
이는 섹션 헤더( )를 무시 하지만 .ss
필터를 (Thomas에게 감사드립니다)로 변경하여 '^\.s[sh]'
이 문제를 해결할 수 있습니다.
답변3
더 짧고 간단한 대안은 공백이 아닌 다른 것으로 시작하는 줄을 찾는 것입니다.
$ man git | grep '^\S'
GIT(1) Git Manual GIT(1)
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
GIT COMMANDS
HIGH-LEVEL COMMANDS (PORCELAIN)
LOW-LEVEL COMMANDS (PLUMBING)
GUIDES
CONFIGURATION MECHANISM
IDENTIFIER TERMINOLOGY
SYMBOLIC IDENTIFIERS
FILE/DIRECTORY STRUCTURE
TERMINOLOGY
ENVIRONMENT VARIABLES
DISCUSSION
FURTHER DOCUMENTATION
AUTHORS
REPORTING BUGS
SEE ALSO
GIT
NOTES
Git 2.32.0 06/06/2021 GIT(1)
다음 추가 줄도 제거할 수 있습니다.
$ man git | grep '^\S' | sed '1d;$d'
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
GIT COMMANDS
HIGH-LEVEL COMMANDS (PORCELAIN)
LOW-LEVEL COMMANDS (PLUMBING)
GUIDES
CONFIGURATION MECHANISM
IDENTIFIER TERMINOLOGY
SYMBOLIC IDENTIFIERS
FILE/DIRECTORY STRUCTURE
TERMINOLOGY
ENVIRONMENT VARIABLES
DISCUSSION
FURTHER DOCUMENTATION
AUTHORS
REPORTING BUGS
SEE ALSO
GIT
NOTES
이미 본 경우 less
(즉, 보기만 하면 어떻게 되는지 ) 일치하는 행만 표시를 man git
사용할 수 있습니다 . &
IOW, 제목(그리고 첫 번째와 마지막 행)만 입력 &^\S
하고 표시할 수 있습니다. less
전체 맨페이지 표시로 돌아가려면 다음을 입력하면 &
됩니다 Enter.