Last active
October 28, 2023 05:07
-
-
Save goyalankit/a1c88bfc69107f93cda1 to your computer and use it in GitHub Desktop.
Import bash history to zsh history.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################################################################# | |
# = This script transfers bash history to zsh history | |
# = Change bash and zsh history files, if you don't use defaults | |
# | |
# = Usage: ruby bash_to_zsh_history.rb | |
# | |
# = Author: Ankit Goyal | |
################################################################# | |
# change if you don't use default values | |
BASH_HISTORY_FILE_PATH="#{ENV['HOME']}/.bash_history" | |
ZSH_HISTORY_FILE_PATH="#{ENV['HOME']}/.zsh_history" | |
# Read the bash history file | |
bash_hist_file = File.read(BASH_HISTORY_FILE_PATH) | |
# Get the list of commands from bash history hile | |
command_list = bash_hist_file.split("\n") | |
# Open the zsh history file | |
zsh_hist_file = File.open(ZSH_HISTORY_FILE_PATH, "a") | |
# Get timestamp required for zsh history file format and update the history file | |
time = Time.now.to_i | |
command_list.each do |command| | |
time += 1 | |
zsh_hist_file.write(": #{time}:0;#{command}\n") | |
end | |
# Close the file | |
zsh_hist_file.close |
Since I didn't see trusty old
sed
, here's one I made with my friendsed
cat ~/.bash_history | uniq | sed "s/^/\: $(date +%s)\:0;/" >> ~/.zsh_history
Works a treat. Cheers.
Thanks a lot brother.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Since I didn't see trusty old
sed
, here's one I made with my friendsed
cat ~/.bash_history | uniq | sed "s/^/\: $(date +%s)\:0;/" >> ~/.zsh_history