I want to convert the timestamps in a .zsh_history
file to their readable equivalents.
Is there some search and replace I can do in emacs that will replace the time with something like (format-time-string unixtime)
?
: 1568128379:0;cp -a ~/.zshrc.pre-oh-my-zsh ~/.zshrc
: 1568128381:0;exit
Here is the solution for my
.zsh_history
example:I first created a small function for the unix time string. More of the functionality in the replacement string can be included if preferred.
The search string:
\(: \)\([0-9]\{10\}\)\(:0;\)
The replacement string:
\,(concat (format "%6d " (line-number-at-pos)) (rgx-get-time-string (match-string 2)) " "))
(match-string 2)
is an alternative for the back reference for the second string matched\2