Limpar histórico do bash, exceto as últimas n linhas

Limpar histórico do bash, exceto as últimas n linhas

Eu tenho o seguinte comando para limpar a última entrada do histórico do bash (histórico do terminal/histórico da linha de comando). Meu Ubuntu 14.04 Trusty Tahr.

sed -i '$d' ~/.bash_history

Mas quero manter as últimas 1,2...nentradas e excluir o restante, como posso conseguir isso?

Pode ser com sed/ history/ awkou qualquer outro comando, não há problema desde que os requisitos sejam atendidos.

Responder1

Se quiser manter as últimas N linhas, use tail(por exemplo, as últimas 20 linhas):

tail -n 20 "$HISTFILE" > ff && mv ff "$HISTFILE"

Estou usando a HISTFILEvariável, pois ela sempre apontará para o seu arquivo de histórico, mesmo que você tenha alterado seu nome.

informação relacionada