Se você está apenas olhando para encontrar a linha (para movimentar sua memória), você poderia apenas grep para a parte do comando que você lembra:
history | grep "substring"
Eu queria saber como pesquisar comandos no histórico sem conhecer as primeiras letras do comando?
Quando pesquisar usando Ctrl - R no bash, deve-se dar as primeiras letras do comando. E se eu só conheço alguns personagens no meio, ou alguns no começo e outros no meio?
Por exemplo, para pesquisar cat myfile
, só sei que há at
, ou c
no início e my
no meio em algum lugar. palavras-chave devem ser posicionadas continuamente. Por exemplo, em cat myfile
, gostaria de pesquisar os dois c
e my
, mas Ctrl+R
não permitirá especificar os dois simultaneamente.
O Bash só tem uma pesquisa de string simples, até onde eu posso ver.
Considere mudar para zsh , que tem uma pesquisa de curinga de histórico. history-incremental-pattern-search-backward
e history-incremental-pattern-search-forward
não estão vinculados a chaves por padrão, mas você pode vinculá-las:
bindkey '^X^R' history-incremental-pattern-search-backward
bindkey '^X^S' history-incremental-pattern-search-forward
Em seguida, digite Ctrl+X Ctrl+R ^c*my
.
Para referência: Apropos == homem -k Whatis == homem -f
Estes dois devem ser de grande ajuda, juntamente com curingas * e?
Tags bash search command-history