hg blame en.txt | grep -P "^\s*\d+:\s+0[013-6]:" > en_blame.txt hg blame fr.txt | grep -P "^\s*\d+:\s+0[013-6]:" > fr_blame.txt cat en_blame.txt | while read f;do REV=$(echo $f | sed 's/:.*//');CODE=$(echo $f | sed 's/^[0-9]\+:\s\+//;s/=.*//');OTHER=$(grep -P "^\s*\d+:\s+${CODE}" fr_blame.txt);if(($?==0));then OTHER_REV=$(echo $OTHER | sed 's/:.*//');if(($REV>$OTHER_REV));then TEXT=$(echo $f | sed 's/^\s*[0-9]\+:\s*[0-9]\+:[0-9]\+=//');OLD_TEXT=$(hg grep --all -r "1:$OTHER_REV" "$CODE" en.txt | tail -n1 | sed 's/.*en.txt:[0-9]\+:[+-]:[0-9]\+:[0-9]\+=//;s/ //');if [ "$TEXT" != "$OLD_TEXT" ];then printf '━%.0s' $(seq $COLUMNS);echo "$TEXT ← Current English:";echo "$OLD_TEXT ← English at time of translation:";echo "$(echo $OTHER | sed 's/^\s*[0-9]\+:\s*[0-9]\{2\}:[0-9]\{2\}=//') ← current translation";fi;fi;fi;done