使用不连续的关键字搜索历史记录中的命令


13

我想知道如何在不知道命令的前几个字母的情况下搜索历史记录中的命令?

在bash中使用Ctrl- R进行搜索时,必须给出命令的前几个字母。如果我只在中间知道一些字符,或者在开头知道一些,在中间知道一些怎么办?

例如,要搜索cat myfile,我只知道at在其中,或者cmy某处的开头和中间。关键字必须不断定位。例如,在中cat myfile,我想搜索cmy,但是Ctrl+R不允许同时指定两者。


2
我一直使用Ctrl-R,它会自动搜索中间文本。没什么花哨的,但是在您的示例中,只需键入my就足够了。RHEL4和Cygwin确认。
亚伦·马拉斯科

@Tim:您实际上没有尝试过,对吗?因为它确实在命令中间搜索字母。
Alex

1
@alex:我实际上想说不是连续定位的关键字。例如,在中cat myfile,我想搜索cmy,但是Ctrl + R不允许同时指定两者。
蒂姆(Tim)

Answers:


12

如果您只是想查找行(以慢走记忆),则可以使用grep记住该命令的一部分:

history | grep "substring"

2
我使用* nix系统已有5年以上,history直到现在才知道该命令的感觉如何?谢谢!
GMA


0

如果该主题包含一个单词,则Apropos(1)也应返回该主题的一个男人。Whatis(1)仅返回绝对匹配。

供参考:Apropos == man -k Whatis == man -f

这两个应该与通配符*和?一起提供很大的帮助。


1
问题是关于在终端中搜索命令历史记录……(而不是搜索手册页)……但是在完全不同的音符上,我确实发现您的答案很有用,所以+1 :)
Peter.O

....可爱,我对那个伴侣不好。
baweaver
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.