Como inserir parte de um comando automaticamente, depois de outro comando executado?

1

Eu quero criar uma função para grep-ing meu histórico de linha de comando por history | grep {keyword} . E depois de ver a lista e escolher o comando por número de linha, eu quero executá-lo por !{line_number} .

Porque no próximo comando eu sempre usarei ! , eu quero que ele seja digitado automaticamente e espere que eu digite o número da linha. Como devo fazer isso

    
por Arsinux 28.09.2014 / 13:43

1 resposta

1

Se você gostou de mim, definiu um valor HISTSIZE para 10000+, a saída do comando grep pode ser muito grande para analisar.

Em vez disso, sugiro usar os recursos reverse-i-search e i-search bash:

  

reverse-search-history ( Ctrl + r )

     

Retroceda a partir da linha atual e mova-a pelo histórico, conforme necessário. Esta é uma pesquisa incremental.

     

forward-search-history ( Ctrl + s )

     

Pesquise o início a partir da linha atual e mova "para baixo" até o histórico, conforme necessário. Esta é uma pesquisa incremental.

Note que para funcionar corretamente você pode ter que desabilitar o controle de fluxo XON / XOFF, apenas digite: stty -ixon

Fonte: Não é possível para encaminhar o histórico de Bash da pesquisa da mesma forma que com CTRL-r

    
por Sylvain Pineau 28.09.2014 / 14:28