Очистить историю bash, кроме последних n строк

Очистить историю bash, кроме последних n строк

У меня есть следующая команда для очистки последней записи истории bash (истории терминала/истории командной строки). Мой Ubuntu 14.04 Trusty Tahr.

sed -i '$d' ~/.bash_history

Но я хочу сохранить последние 1,2...nзаписи и удалить остальные. Как мне этого добиться?

Можно использовать sed/ history/ awkили любую другую команду, без проблем, если соблюдены требования.

решение1

Если вы хотите сохранить последние N строк, используйте tail(например, последние 20 строк):

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

Я использую эту HISTFILEпеременную, поскольку она всегда будет указывать на ваш файл истории, даже если вы изменили его имя.

Связанный контент