Bash-Verlauf mit Ausnahme der letzten n Zeilen löschen

Bash-Verlauf mit Ausnahme der letzten n Zeilen löschen

Ich habe den folgenden Befehl, um den letzten Eintrag des Bash-Verlaufs (Terminalverlauf/Befehlszeilenverlauf) zu löschen. Mein Ubuntu 14.04 Trusty Tahr.

sed -i '$d' ~/.bash_history

Ich möchte aber die letzten 1,2...nEinträge behalten und den Rest löschen. Wie kann ich das erreichen?

Kann mit sed// oder einem beliebigen anderen Befehl erfolgen, kein Problem history, awksolange die Anforderungen erfüllt sind.

Antwort1

Wenn Sie die letzten N Zeilen behalten möchten, verwenden Sie tail(beispielsweise die letzten 20 Zeilen):

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

Ich verwende die HISTFILEVariable, da diese immer auf Ihre Verlaufsdatei verweist, auch wenn Sie ihren Namen geändert haben.

verwandte Informationen