Você pode usar o history -d offset
incorporado para excluir um conteúdo específico linha do histórico do shell atual ou history -c
para limpar todo o histórico.
Não é realmente prático se você deseja remover um intervalo de linhas, já que leva apenas um deslocamento como argumento, mas você pode envolvê-lo em uma função com um loop.
rmhist() {
start=$1
end=$2
count=$(( end - start ))
while [ $count -ge 0 ] ; do
history -d $start
((count--))
done
}
Chame com rmhist first_line_to_delete last_line_to_delete
. (Números de linha de acordo com a saída de history
.)
(Use history -w
para forçar uma gravação no arquivo de histórico.)