我想创建一个函数,通过 来 grep 我的命令行历史记录history | grep {keyword}
。在查看列表并按行号选择命令后,我想通过 来执行它!{line_number}
。
因为在下一个命令中我总是会使用!
,我希望它自动输入并等待我输入行号。我该怎么做
答案1
如果像我一样您将值设置HISTSIZE
为 10000+,则命令的输出grep
可能会非常大而难以解析。
相反,我建议使用reverse-i-search
和i-search
bash 功能:
reverse-search-history
(Ctrl+ r)从当前行开始向后搜索,并根据需要在历史记录中“向上”移动。这是一个增量搜索。
forward-search-history
(Ctrl+ s)从当前行开始向前搜索,并根据需要在历史记录中“向下”移动。这是一个增量搜索。
请注意,为了正常工作,您可能必须禁用 XON/XOFF 流控制,只需输入:stty -ixon