如何仅对命令手册页的DESCRIPTION或特定标志进行grep?

时间:2019-10-17 11:03:04

标签: bash shell grep debian manpage

我只需要grep Debian 9+上所有手册的DESCRIPTION或特定标志。

我已经尝试使用命令ls脚本,仅对grep进行描述:

man ls > text.txt
describe_start=$(man ls | cat | grep -o -m 1 -n "DESCRIPTION" | cut -f1 -d:)
describe_end=$(man ls | cat | grep -E -o -m 1 -n "       -" | cut -f1 -d:)
echo cat text.txt | sed -n "$describe_start,$describe_end p" | head -n -2

但是此代码不适用于man php或emacs:

man php / man emacs

如何仅获得DESCRIPTION或标志说明?

1 个答案:

答案 0 :(得分:0)

您需要获取Description TAG之后的下一个TAG。
您可以使用此命令获得它们。

$ man ls  | grep ^' ' -v | grep . | grep -A 1 DESCRIPTION
AUTHOR

在sed结束脚本中使用此标记。

最终脚本

end_word=`man ls  | grep ^' ' -v | grep . | grep -A 1 DESCRIPTION | tail -n 1`
man ls | sed -n "/DESCRIPTION/,/$end_word/p" > ls.out