Skip to content

Instantly share code, notes, and snippets.

@mateuspontes
Created April 7, 2018 19:57
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save mateuspontes/f6c26c94ca87eaa49cc977f33043405f to your computer and use it in GitHub Desktop.
Save mateuspontes/f6c26c94ca87eaa49cc977f33043405f to your computer and use it in GitHub Desktop.
Migrate fish history to zsh shell (python 2.7)
import os
import re
def fish_to_zsh(cmd):
return (cmd.replace('; and ', '&&')
.replace('; or ', '||'))
with open(os.path.expanduser('~/.zsh_history.test'), 'a') as o:
with open(os.path.expanduser('~/.local/share/fish/fish_history')) as f:
for line in f:
line = line.strip()
if line and re.match('^- cmd:', line):
meta, command = line.split('- cmd: ', 1)
line = f.next().strip()
if line and re.match('^when:', line):
meta, when = line.split('when: ', 1)
o.write(': %s:0;%s\n' % (when, fish_to_zsh(command)))
@alicancakil
Copy link

it was really useful. thank you

@exokortex
Copy link

Thx a lot :)

@KTamas
Copy link

KTamas commented Nov 22, 2021

Thanks!

@marverix
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment