Você pode usar este comando para excluir corretamente todas as linhas com a string no histórico:
sed -i '/string/d' .bash_history
Meu histórico é 'poluído' com algumas linhas específicas que possuem erros de digitação e outras. Por exemplo: muitas vezes eu tenho que ssh para um determinado servidor assim:
ssh [email protected]
> Connects succesfully
Mas também faço um erro de digitação às vezes:
ssh [email protected]
> Permission denied
Como confio no histórico, esse erro de digitação é duplicado várias vezes:
cat .zsh_history | grep [email protected]
> : 1510301683:0;ssh [email protected]
> : 1511166682:0;ssh [email protected]
> : 1511193552:0;ssh [email protected]
> : 1512730972:0;ssh [email protected]
> : 1516368993:0;ssh [email protected]
> : 1516802690:0;ssh [email protected]
> : 1519633368:0;ssh [email protected]
Existe uma maneira fácil de limpar meu histórico apenas pelos resultados do grep
-command? (ou talvez haja alguma outra solução mais inteligente?)
Atualização:
Atenção: não estou procurando uma maneira de excluir a linha x
do histórico; Eu sei que há muitos artigos por aí que cobrem isso. Estou simplesmente procurando uma maneira (simples?) De excluir todas as linhas que contenham a string y
.
Você pode usar este comando para excluir corretamente todas as linhas com a string no histórico:
sed -i '/string/d' .bash_history
Tags command-line bash history zsh