Beim versehentlichen Einfügen einer Datei in die Shell werden eine Menge hässlicher Unsinneinträge in den Bash-Verlauf eingefügt. Gibt es eine saubere Möglichkeit, diese Einträge zu entfernen? Natürlich könnte ich die Shell schließen und die .bash_history
Datei manuell bearbeiten, aber vielleicht gibt es eine API, um den Verlauf der aktuellen Shell zu ändern?
quelle
tot_lines=$(history | wc -l)
und dann wiederholt werdenhistory -d $(( tot_lines - $1 ))
.$(history | wc -l)
gibt es die Variable$HISTCMD
, die verwendet werden kann.Nur diese eine Zeile in der Eingabeaufforderung hilft.
Wobei START_NUM die Startposition des Eintrags in der Historie ist. N ist die Anzahl der Einträge, die Sie löschen möchten.
Ex:
for i in {1..50}; do history -d 1030; done
quelle
Die Antwort von user2982704 hat bei mir fast geklappt aber nicht ganz. Ich musste eine kleine Variation davon machen.
Angenommen, mein Verlauf liegt bei 1000 und ich möchte die letzten 50 Einträge löschen
quelle