Skip to content

Instantly share code, notes, and snippets.

@calexandre
Last active April 3, 2024 14:11
Show Gist options
  • Star 33 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save calexandre/63547c8dd0e08bf693d298c503e20aab to your computer and use it in GitHub Desktop.
Save calexandre/63547c8dd0e08bf693d298c503e20aab to your computer and use it in GitHub Desktop.
Merge two zsh history files
#!/bin/bash
# Inspired on https://david-kerwick.github.io/2017-01-04-combining-zsh-history-files/
set -e
history1=$1
history2=$2
merged=$3
echo "Merging history files: $history1 + $history2"
test ! -f $history1 && echo "File $history1 not found" && exit 1
test ! -f $history2 && echo "File $history2 not found" && exit 1
cat $history1 $history2 | awk -v date="WILL_NOT_APPEAR$(date +"%s")" '{if (sub(/\\$/,date)) printf "%s", $0; else print $0}' | LC_ALL=C sort -u | awk -v date="WILL_NOT_APPEAR$(date +"%s")" '{gsub('date',"\\\n"); print $0}' > $merged
echo "Merged to: $merged"
@kutsan
Copy link

kutsan commented Apr 3, 2024

Thank you!

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