bash shell history search - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mattx
V2EX    Bash

bash shell history search

  •  
  •   mattx 2019 年 2 月 12 日 7990 次点击
    这是一个创建于 2613 天前的主题,其中的信息可能已经有所发展或是发生改变。

    bash 可以用 ctrl + r 来搜索历史命令,但是有时候匹配不够好,所以有时候会用 history | grep xxx,来找,找到以后 鼠标选择然后复制,挺麻烦的。可以看到 history 有个 line num 信息,是否能快速利用起来?

    1. 求 快速搜索历史命令的方法,可以快速往上往下翻
    2. 求 history 高级用法,快速找到某条历史命令,并自动生成在 shell 终端
    11 条回复    2019-04-23 16:34:50 +08:00
    liwufan
        1
    liwufan  
       2019 年 2 月 12 日
    1. 为何不用 history | vim -
    然后 /搜索内容 快速上下翻
    2. vim 里面找到命令 然后
    :行号 w !bash
    就行了
    mattx
        2
    mattx  
    OP
       2019 年 2 月 12 日
    @liwufan #1 不行吧? history 输出是这样的格式 2 [2019-02-12 18:51:46] xxxx,“:行号 w !bash ” 会提取 2 开始的作为命令
    xfspace
        3
    xfspace  
       2019 年 2 月 12 日 via Android
    h | egrep '^行号空格' | bash
    Augix
        4
    Augix  
       2019 年 2 月 12 日 via Android
    tsl0922
        5
    tsl0922  
       2019 年 2 月 12 日 via iPhone
    fish 在这方面做的比较好,输入命令的时候默认会搜索历史显示自动补全,但坏处是 fish 和 bash 语法不兼容。

    zsh 有类似 fish 的补全插件,兼容 bash 语法(未测试,我用的是 fish )。
    mattx
        6
    mattx  
    OP
       2019 年 2 月 12 日
    @tsl0922 #5 fish 和 zsh 好像在 gbk 编码支持上 比较差对吧?
    liwufan
        7
    liwufan  
       2019 年 2 月 12 日
    @mattx history 的输出格式是自定义的,比如你这个时间戳就是 HISTTIMEFORMAT="[%F %T] " , 开头序号直接 history | cut -c 8- | vim - 不就行了?

    man history 里面都写着,嫌麻烦可以不用 bash, zsh fish 这些也都可以
    tsl0922
        8
    tsl0922  
       2019 年 2 月 12 日 via iPhone
    @mattx 没有吧,没遇到过这个问题
    0xABCD
        9
    0xABCD  
       2019 年 2 月 12 日 via Android
    mattx
        10
    mattx  
    OP
       2019 年 2 月 12 日
    @0xABCD #9
    @Augix #4
    @xfspace #3
    @liwufan #7 thx
    mattx
        11
    mattx  
    OP
       2019 年 4 月 23 日
    比较方便的是 bash 可以执行 !xxx , 比如输入 history 里面 855 行是 ps , 那么 !855 会执行 ps ,算是比较方便的.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     919 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 20:54 PVG 04:54 LAX 13:54 JFK 16:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86