#!/usr/bin/env sh # YES_ZSH similar() { awk ' { i=0 split($0,a,"") split(L,b,"") for (c in a) if (a[c]==b[c]) i++ else break #print substr($0,1,i) "\033[7m" substr($0,i+1) "\033[0m" print "\033[31m" substr($0,1,i) "\033[0m" substr($0,i+1) L=$0 }' } [ "${SOURCING:-0}" -gt 0 ] || similar "$@"