有时我想搜索/过滤关键字特定命令的帮助。
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
还可以应用于您想要过滤结果和/或一次查看屏幕高度的任何其他命令。