On Sat, 28 Mar 2015 21:50, David C. Rankin wrote:
All,
A value of HISTCONTROL=erasedups causes all previous lines matching the current line to be removed from the history list before that line is saved. (man bash)
This isn't working on 13.1 for me. Can anyone else confirm that duplicates are NOT removed in 13.1 when this value is set? Searching, it looks like other distros have patched bash to insure this works when multiple terminals are open. (e.g.: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/189881)
If this is confirmed, could something similar be done here? The reason, after moving my history file from 11.4 to 13.1 and running for close to a year, I have close to 14,000 duplicate lines -- despite having 'erasedups' set:
current lines: 20000 - uniq lines: 6099 = 13901 duplicates
To fix the problem temporarily, I wrote the current file out, then sorted uniquely, then deleted the current history, read the sorted unique file in as current, and wrote the current back to HISTFILE:
$ history -w | sort | uniq > uniqfile $ history -c $ history -r uniqfile $ history -w $ rm uniqfile
That seems to have fixed the issue in the current session, and ~/.bash_history is current correct, but when closing the remaining sessions, I suspect the duplicates will once again be written to ~/.bash_history, even though 'erasedups' is set.
If someone can confirm 13.1 is ignoring 'erasedups', I'll file the bug.
Confirmed for openSUSE 12.3 and for 13.1, and it can be confirmed with and without 'timestamps' for the history ($HISTTIMEFORMAT). - Yamaban. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org