1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-07-08 05:49:59 -07:00
rc/sh/similar

20 lines
563 B
Plaintext
Raw Normal View History

#!/usr/bin/env sh
# YES_ZSH YES_BASH YES_DASH YES_ASH YES_BB_AWK
2021-07-29 00:37:35 -07:00
similar() { ### @-
2021-08-01 09:27:25 -07:00
### highlight adjacent lines up to the first inequivalent character.
[ $# -eq 0 ] || { printf "%s\n" "$0: does not take arguments" >&2; return 1; }
2021-07-29 00:37:35 -07:00
awk '
{
i=0
2021-10-01 12:00:23 -07:00
for(c=1;c<length;c++)
if(substr($0,c,1)==substr(L,c,1)) i++
2021-07-29 00:37:35 -07:00
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
}'
}
[ -n "${preload+-}" ] || similar "$@"