ZSH / BASH: Excluir linhas específicas do histórico

0

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 .

    
por Giel Berkers 24.04.2018 / 09:14

1 resposta

0

Você pode usar este comando para excluir corretamente todas as linhas com a string no histórico:

sed -i '/string/d' .bash_history
    
por 24.04.2018 / 10:37