RosettaCodeData/Task/Morse-code/AWK/morse-code.awk

21 lines
430 B
Awk

# usage: awk -f morse.awk [inputfile]
BEGIN { FS="";
m="A.-B-...C-.-.D-..E.F..-.G--.H....I..J.---K-.-L.-..M--N-.";
m=m "O---P.--.Q--.-R.-.S...T-U..-V...-W.--X-..-Y-.--Z--.. ";
}
{ for(i=1; i<=NF; i++)
{
c=toupper($i); n=1; b=".";
while((c!=b)&&(b!=" ")) { b=substr(m,n,1); n++; }
b=substr(m,n,1);
while((b==".")||(b=="-")) { printf("%s",b); n++; b=substr(m,n,1); }
printf("|");
}
printf("\n");
}