Ich muss alle Befehle in meinem Verlauf löschen, die einer Zeichenfolge entsprechen. Ich habe es versucht:
$ history | grep searchstring | cut -d" " -f2 | history -d
-bash: history: -d: option requires an argument
$ history | grep searchstring | cut -d" " -f2 | xargs history -d
xargs: history: No such file or directory
$ temparg() { while read i; do "$@" "$i"; done }
$ history | grep searchstring | cut -d" " -f2 | temparg history -d
(no error, but nothing is deleted)
Was ist der richtige Weg, um dies zu tun?
history -d X
. Ich bin auf diese Frage gestoßen, weil ich es gerade getan hattehistory | grep search_str | sort -nr | awk '{print $1}' | while read i; do history -d $i; done
. Kein Fehler, aber nichts gelöscht. Kann jemand erklären, warum?