Skip to content

Instantly share code, notes, and snippets.

@tasoseng
Created March 26, 2021 22:37
Show Gist options
  • Save tasoseng/4bea647f74d39f92181cbeeaaf528e4a to your computer and use it in GitHub Desktop.
Save tasoseng/4bea647f74d39f92181cbeeaaf528e4a to your computer and use it in GitHub Desktop.
elot 743 - Transliteraton of greek characters to latin
#!/usr/local/bin/bash
export IFS='
'
string=$1
SED=gsed
gr='αάβγδεέζηήθιίϊΐκλμνξοόπρσςτυύϋΰφχψωώ'
eng='aavgdeezii.iiiiklmnxooprsstyyyyf..oo'
out=$(\
echo $string |\
tr "[:upper:]" "[:lower:]" |\
${SED} s/αι/ai/g |\
${SED} s/αί/ai/g |\
${SED} s/οι/oi/g |\
${SED} s/οί/oi/g |\
${SED} s/ου/ou/g |\
${SED} s/ού/ou/g |\
${SED} s/ει/ei/g |\
${SED} s/εί/ei/g |\
${SED} s/ντ/nt/g |\
${SED} s/τσ/ts/g |\
${SED} s/τζ/tz/g |\
${SED} s/γγ/ng/g |\
${SED} s/γκ/gk/g |\
\
${SED} "s/αυ\([αάβγδεέζηήιίλμνοόρωώ]\)/av\1/g" |\
\
${SED} "s/αυ\([αάβγδεέζηήιίλμνοόρωώ]\)/av\1/g" |\
${SED} "s/αύ\([αάβγδεέζηήιίλμνοόρωώ]\)/av\1/g" |\
${SED} "s/ευ\([αάβγδεέζηήιίλμνοόρωώ]\)/ev\1/g" |\
${SED} "s/εύ\([αάβγδεέζηήιίλμνοόρωώ]\)/ev\1/g" |\
${SED} "s/ηυ\([αάβγδεέζηήιίλμνοόρωώ]\)/iv\1/g" |\
${SED} "s/ηύ\([αάβγδεέζηήιίλμνοόρωώ]\)/iv\1/g" |\
\
${SED} "s/αυ\([θκξπσςτφχψ]\)/af\1/g" |\
${SED} "s/αύ\([θκξπσςτφχψ]\)/af\1/g" |\
${SED} "s/ευ\([θκξπσςτφχψ]\)/ef\1/g" |\
${SED} "s/εύ\([θκξπσςτφχψ]\)/ef\1/g" |\
${SED} "s/ηυ\([θκξπσςτφχψ]\)/if\1/g" |\
${SED} "s/ηύ\([θκξπσςτφχψ]\)/if\1/g" |\
\
${SED} "s/^μπ\(.*\)/b\1/" |\
${SED} "s/\(.*\)μπ$/\1b/" |\
${SED} "s/\(.\)μπ\(.\)/\1mp\2/" |\
\
${SED} s/θ/th/g |\
${SED} s/χ/ch/g |\
${SED} s/ψ/ps/g |\
\
${SED} y/$gr/$eng/ |\
\
${SED} 's/\<./\u&/' |\
${SED} 's/\-./\U&/' |\
${SED} 's/\ ./\U&/' \
)
echo $out
#echo -n ${out:0:1}|tr "[:lower:]" "[:upper:]";echo ${out:1}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment