bash shell history search - V2EX
mattx
V2EX    Bash

bash shell history search

  •  
  •   mattx Feb 12, 2019 8049 views
    This topic created in 2647 days ago, the information mentioned may be changed or developed.

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

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

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

    man history 里面都写着,嫌麻烦可以不用 bash, zsh fish 这些也都可以
    tsl0922
        8
    tsl0922  
       Feb 12, 2019 via iPhone
    @mattx 没有吧,没遇到过这个问题
    0xABCD
        9
    0xABCD  
       Feb 12, 2019 via Android
    mattx
        10
    mattx  
    OP
       Feb 12, 2019
    @0xABCD #9
    @Augix #4
    @xfspace #3
    @liwufan #7 thx
    mattx
        11
    mattx  
    OP
       Apr 23, 2019
    比较方便的是 bash 可以执行 !xxx , 比如输入 history 里面 855 行是 ps , 那么 !855 会执行 ps ,算是比较方便的.
    About     Help     Advertise     Blog     API     FAQ     Solana     3991 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 05:06 PVG 13:06 LAX 22:06 JFK 01:06
    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