打印手册页介绍或描述的简单方法

Osc*_*ion 3 man

是否有一种简单的方法可以快速查看手册页的精简摘要:只是描述说明或介绍?我没有看到执行此操作的选项/标志,是否有其他工具可以为您执行此操作?

Tho*_*key 5

OP 引用的精简摘要很可能是NAME部分,它被mandbor特殊处理makewhatis(为whatis和准备数据apropos

按照惯例,这是这些工具中的一行(尽管由于实际联机帮助页中的长度,它可能会被换行)。此外(仍然是惯例),主题(左侧)和简短描述之间有一个破折号。

进一步阅读(Linux):

man -k printf
搜索关键字printf作为正则表达式的简短描述和手册页名称。打印出任何匹配项。相当于apropos printf

man -f smail
查找由 引用的手册页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
Run Code Online (Sandbox Code Playgroud)

whatis查找具有给定主题名称的页面:

printf (1)           - format and print data  
printf (3)           - formatted output conversion
Run Code Online (Sandbox Code Playgroud)

其他系统可能有所不同:

  • 的 OSX 手册页man(1),选项 -k等效于apropos. 反过来,apropos 描述说“apropos 搜索一组包含系统命令的简短描述的数据库文件,以获取关键字关键字词,并将结果显示在标准输出上。”而其NAME部分则说“apropos - 在 whatis 数据库中搜索字符串” ”。
  • OSX 手册页manpages(5)提供了联机帮助的结构。

虽然man每种情况下的程序都可以有对应于apropos和 的选项whatis,但单独的程序更常用于各种类 Unix 系统。

有趣的是,POSIX 只有man(和-k选项),与whatis. 在理由中,注意到

-f考虑了该选项,但由于实现差异,它没有包含在 POSIX.1-2008 的这一卷中。

此外,POSIX 不使用术语apropos,而是对其进行描述。同样,POSIX 不会(至少在该部分中)尝试描述单个联机帮助页的结构以及它们如何组织成部分。这些是系统相关的功能。


小智 5

这几个函数显示小节并提取特定小节,我相信它们可以改进:

用:

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}'
}
Run Code Online (Sandbox Code Playgroud)

例如:

$ 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...]
Run Code Online (Sandbox Code Playgroud)


Mel*_*lan 0

如果您指的是进入命令行开关之前手册页的描述部分

man <command> | col -b > /tmp/randomtempfile
Run Code Online (Sandbox Code Playgroud)

然后使用grepandsed您可以从 中提取所需的信息randomtempfile。据我所知,man 没有显示摘要页面的选项。