$ echo John Doe | awk '{ print (NF>2) ? tolower($1) NF-2 tolower($NF) : $0 }' FS=''
j6e
$ n='John Doe'
$ printf '%s\n' "${n%"${n#?}"}$((${#n}-2))${n#"${n%?}"}"
J6e
n7m() {
    n="$1";
    if [ "${#1}" -gt 2 ]; then 
        n="${n%"${n#?}"}$((${#n}-2))${n#"${n%?}"}";
    fi;
    printf '%s\n' "${n}";
}
#!/usr/bin/env python3

import sys

def encode(word: str) -> str:
    n = len(word) - 2
    return f"{word[0]}{n}{word[-1]}"

def main(s):
    print(encode(s.lower()))

if __name__ == '__main__':
    if len(sys.argv) > 1:
        main(''.join(sys.argv[1:]))

More information

Refs