Preciso excluir todos os comandos do meu histórico que correspondem a uma string. Eu tentei:
$ 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)
Qual é a maneira certa de fazer isso?
history -d X
. Me deparei com essa pergunta porque tinha acabado de fazerhistory | grep search_str | sort -nr | awk '{print $1}' | while read i; do history -d $i; done
. Nenhum erro, mas nada excluído. Alguém pode explicar o porquê?