过滤--帮助命令?

过滤--帮助命令?

有时我想搜索/过滤关键字特定命令的帮助。

history --help

给出选项列表,有时信息量之大令人不知所措。我可以过滤它的关键工作“清除”例如

history --help *clear*

有时我还想从 --help 获取所有信息,但它太长了,以至于有些行丢失了,我无法向上滚动它们。我怎样才能让它逐屏显示,例如填充第一个屏幕,然后按键填充第二个屏幕等。

文件列表命令的问题相同。

答案1

--help不是通用命令(它是被调用命令的参数,必须由它显式提供),因此没有通用解决方案(事实上,在我的系统上history没有选项)。--help您可能想要类似的东西history --help 2>&1 | grep -E '(^|[^[:alnum:]])clear'(对于某些在STDERR.

你可以把它变成一个像这样的函数:

helpgrep() {
    [ "$#" -eq 2 ] || return 1
    "$1" --help 2>&1 | grep -E "(^|[^[:alnum:]])$2"
}

然后运行它helpgrep command search-string

至于您的第二个问题,请尝试将其通过管道传输到less(或者more如果less不可用),例如history --help | less

答案2

要查看其中包含的命令,clear您可以使用grep

history | grep clear

如果输出很长,您可以使用管道输出通过逐页查看它more

 history | more

当然你可以将这些结合起来

history | grep clear | more

这不仅限于此,history还可以应用于您想要过滤结果和/或一次查看屏幕高度的任何其他命令。

答案3

history --help | grep clear显示包含单词(或单词的一部分)的行clear。这是一个管道,其中第一个命令 ( history --help) 的输出成为第二个命令 ( grep clear,并且grep是在某些文本中搜索模式的命令)。您还可以通过运行history --help | less(less是一个文本文件查看器)并使用/less 中的键来搜索clear.

相关内容