Hello.
I have been trying to mix the features which allows me to de-duplicate and avoid excessive lines in my history, with the 'appendhistory' variable, which somehow seems to be incompatible.
I wanted to remove all the duplicated entries after the terminal closed, so it would be far easier to search and also to keep at hand the command i use the most.
After a lot of help from the people in #zsh , i encountered a way to do this, 'externally', with a script.
In my .zshrc i have added a 'trap my_script.sh EXIT' trap, which makes the script to be ran after i close the terminal.
The script in question has the following inside:
----
#!/usr/bin/env bash
#tac ~/.bash_history | awk '!x[$0]++' | tac > .bash_h
&& mv .bash_h .bash_history --> This one
saves the last occurence of the repeated lines(commented)
awk '!x[$0]++' ~/.bash_history > .bash_h && mv
.bash_h .bash_history --> this is what i am
using at the moment.
----
So, with the default values for share_history and appendhistory, and the following line also inside .zshrc:
setopt HIST_IGNORE_ALL_DUPS HIST_IGNORE_ALL_DUPS HIST_IGNORE_DUPS HIST_SAVE_NO_DUPS HIST_FIND_NO_DUPS
I have it working.
But an user of the #zsh channel told me that this kind of script would break multi-line lines saved in the history, and i also have noticed that after running this script, some special characters becomes 'weird' into the .bash_history viewing. With weird i mean things like Z and Z ,which fortunately are not present in the terminal history (the commands are properly shown in there).
Is there some way to improve this? to make it to not break multi-line history entries, to remove the 'weird characters' from the text file and also to know if this would break my history in a random moment.
This is my first message in here so i do not know if the order of exposing it was the correct.
Bluey