Ao colar acidentalmente um arquivo no shell, ele coloca uma tonelada de entradas absurdas e feias no histórico do bash. Existe uma maneira limpa de remover essas entradas? Obviamente, eu poderia fechar o shell e editar o .bash_history
arquivo manualmente, mas talvez haja algum tipo de API disponível para modificar o histórico do shell atual?
fonte
tot_lines=$(history | wc -l)
e repitahistory -d $(( tot_lines - $1 ))
.$(history | wc -l)
, existe a variável$HISTCMD
que pode ser usada.Apenas este liner no prompt de comando ajudará.
Onde START_NUM está na posição inicial da entrada no histórico. N é o número de entradas que você pode excluir.
ex:
for i in {1..50}; do history -d 1030; done
fonte
A resposta do usuário2982704 quase funcionou para mim, mas não completamente. Eu tive que fazer uma pequena variação como essa.
Supondo que meu histórico esteja em 1000 e eu quero excluir as últimas 50 entradas
fonte