É possível recuperar os comandos de histórico de um arquivo bash?

1

Eu tenho muitos comandos que quero executar novamente, mas há muitos deles, e ir até eles com a tecla de seta para cima é muito longa. É possível obtê-lo em um comando cat / tail e canalizá-lo para um arquivo?

    
por epsilones 02.02.2013 / 10:59

3 respostas

3

Você pode usar o comando history:

history > my_file
    
por 02.02.2013 / 11:01
1

Adicionar isso a ~ / .inputrc faria com que as setas para cima e para baixo passassem por comandos que correspondam ao início da linha:

"\e[A": history-search-backward
"\e[B": history-search-forward

Eu também uso muito essas funções:

h() {
    if [ $# = 0 ]; then
        history 33 | sed '$d'
    else
        history | grep -iEF "$*" | grep -v '^ *[0-9]* *h '
    fi
}

r() {
    history ${1-200} | sed 's/^ *[0-9]* *//' | tail -r > /tmp/recent
    open /tmp/recent -e
}

Se você adicionar " ": magic-space a .inputrc, poderá inserir o comando 1234 digitando !1234 e um espaço. Mas também faz com que o espaço pare de funcionar no irb e o modo interativo no gnuplot.

    
por 03.02.2013 / 11:42
1

Digite Ctrl-R e digite as primeiras letras do comando.

    
por 02.02.2013 / 11:05