我是shell脚本的新手。我正在尝试编写一个shell脚本,它将找到在shell和C中测量时间的命令和函数。 我想将结果呈现在三列中 - 函数名称,人员部分编号和函数的简短描述。 我发现我可以找到所有功能并以我想要的方式显示它们:
man -k time
有人可以给我一些指示吗?如何将结果限制为只测量shell和C中的时间的函数(不包含单词' time')?
答案 0 :(得分:0)
在unix.stackexchange.com上查看此答案 https://unix.stackexchange.com/questions/3586/what-do-the-numbers-in-a-man-page-mean
正如您所见,1是"用户命令"这些在shell中运行 - 你的shell命令 第2节和第3节是C系统调用或C库函数
如果查看手册页部分,则有一个“概要”部分
这给出了可用功能的C语言摘要。通常有 在手册页的其余部分中提供更多信息,但解析出来并不明显
所以运行man -k time |egrep '\([23]\)'
,您将获得第2节和第3节中的所有C手册页名称。将其导入awk或cut以获取第一个字段,然后将其输入man(没有ak选项),这样将为每个
要提取SYNOPSIS部分,这样的事情可能会很好
man time| sed -n '/SYNOPSIS/,/DESCRIPTION/p'
也许用egrep'([123])'可能是一个更好的主意,只需获得C和shell的所有手册页的SYNOPSIS部分就可以提供一个好的报告
一个"陷阱"根据目标不同,有C库手册页部分有特殊名称。一个例子是来自openssl库的(3ssl)