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

2

Eu tenho o seguinte comando para limpar a última entrada do histórico bash (histórico de 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...n entradas e excluir o resto, como posso conseguir isso?

Pode ser com sed / history / awk ou qualquer outro comando, sem problemas, desde que os requisitos sejam atendidos.

    
por Vicky Dev 03.10.2016 / 14:27

1 resposta

2

Se você 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 variável HISTFILE , pois ela sempre apontará para o arquivo do histórico, mesmo que você tenha alterado o nome dela.

    
por 03.10.2016 / 16:05