Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@bradland
Created December 27, 2011 15:06
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save bradland/1523933 to your computer and use it in GitHub Desktop.
Save bradland/1523933 to your computer and use it in GitHub Desktop.
NATO phonetic string converter for bash
#!/bin/bash
#########################################################################
# #
# #
# NATO String converter #
# #
# Description: converts string (first parameter given) #
# to NATO phonetics-alphabet #
# #
# (c) copyright 2008 #
# by Maniac #
# #
# #
#########################################################################
# License #
# This program is free software. It comes without any warranty, to #
# the extent permitted by applicable law. You can redistribute it #
# and/or modify it under the terms of the Do What The Fuck You Want #
# To Public License, Version 2, as published by Sam Hocevar. See #
# <a href="http://sam.zoy.org/wtfpl/COPYING" title="http://sam.zoy.org/wtfpl/COPYING">http://sam.zoy.org/wtfpl/COPYING</a> for more details. #
#########################################################################
if [ ! -z "$1" ] ; then
LENGTH=${#1}
COUNTER=0
until [ "$COUNTER" -ge "$LENGTH" ] ; do
STR=${1:$COUNTER:1}
case $STR in
a) OUTPUT="$OUTPUT - alpha"
;;
A)
OUTPUT="$OUTPUT - ALPHA"
;;
b) OUTPUT="$OUTPUT - bravo"
;;
B) OUTPUT="$OUTPUT - BRAVO"
;;
c) OUTPUT="$OUTPUT - charlie"
;;
C) OUTPUT="$OUTPUT - CHARLIE"
;;
d) OUTPUT="$OUTPUT - delta"
;;
D) OUTPUT="$OUTPUT - DELTA"
;;
e) OUTPUT="$OUTPUT - echo"
;;
E) OUTPUT="$OUTPUT - ECHO"
;;
f) OUTPUT="$OUTPUT - foxtrot"
;;
F) OUTPUT="$OUTPUT - FOXTROT"
;;
g) OUTPUT="$OUTPUT - golf"
;;
G) OUTPUT="$OUTPUT - GOLF"
;;
h) OUTPUT="$OUTPUT - hotel"
;;
H) OUTPUT="$OUTPUT - HOTEL"
;;
i) OUTPUT="$OUTPUT - india"
;;
I) OUTPUT="$OUTPUT - INDIA"
;;
j) OUTPUT="$OUTPUT - juliet"
;;
J) OUTPUT="$OUTPUT - JULIET"
;;
k) OUTPUT="$OUTPUT - kilo"
;;
K) OUTPUT="$OUTPUT - KILO"
;;
l) OUTPUT="$OUTPUT - lima"
;;
L) OUTPUT="$OUTPUT - LIMA"
;;
m) OUTPUT="$OUTPUT - mike"
;;
M) OUTPUT="$OUTPUT - MIKE"
;;
n) OUTPUT="$OUTPUT - november"
;;
N) OUTPUT="$OUTPUT - NOVEMBER"
;;
o) OUTPUT="$OUTPUT - oscar"
;;
O) OUTPUT="$OUTPUT - OSCAR"
;;
p) OUTPUT="$OUTPUT - papa"
;;
P) OUTPUT="$OUTPUT - PAPA"
;;
q) OUTPUT="$OUTPUT - quebec"
;;
Q) OUTPUT="$OUTPUT - QUEBEC"
;;
r) OUTPUT="$OUTPUT - romeo"
;;
R) OUTPUT="$OUTPUT - ROMEO"
;;
s) OUTPUT="$OUTPUT - sierra"
;;
S) OUTPUT="$OUTPUT - SIERRA"
;;
t) OUTPUT="$OUTPUT - tango"
;;
T) OUTPUT="$OUTPUT - TANGO"
;;
u) OUTPUT="$OUTPUT - uniform"
;;
U) OUTPUT="$OUTPUT - UNIFORM"
;;
v) OUTPUT="$OUTPUT - victor"
;;
V) OUTPUT="$OUTPUT - VICTOR"
;;
w) OUTPUT="$OUTPUT - whiskey"
;;
W) OUTPUT="$OUTPUT - WHISKEY"
;;
x) OUTPUT="$OUTPUT - x-ray"
;;
X) OUTPUT="$OUTPUT - X-RAY"
;;
y) OUTPUT="$OUTPUT - yankee"
;;
Y) OUTPUT="$OUTPUT - YANKEE"
;;
z) OUTPUT="$OUTPUT - zulu"
;;
Z) OUTPUT="$OUTPUT - ZULU"
;;
1) OUTPUT="$OUTPUT - One"
;;
2) OUTPUT="$OUTPUT - Two"
;;
3) OUTPUT="$OUTPUT - Three"
;;
4) OUTPUT="$OUTPUT - Four"
;;
5) OUTPUT="$OUTPUT - Five"
;;
6) OUTPUT="$OUTPUT - Six"
;;
7) OUTPUT="$OUTPUT - Seven"
;;
8) OUTPUT="$OUTPUT - Eight"
;;
9) OUTPUT="$OUTPUT - Nine"
;;
0) OUTPUT="$OUTPUT - Zero"
;;
"!") OUTPUT="$OUTPUT - Exclamation"
;;
"#") OUTPUT="$OUTPUT - Hash"
;;
"?") OUTPUT="$OUTPUT - Questionmark"
;;
"&") OUTPUT="$OUTPUT - Ampersand"
;;
"+") OUTPUT="$OUTPUT - Plus"
;;
"-") OUTPUT="$OUTPUT - Dash"
;;
"|") OUTPUT="$OUTPUT - Pipe"
;;
"$") OUTPUT="$OUTPUT - Dollar"
;;
"_") OUTPUT="$OUTPUT - Underscore"
;;
"/") OUTPUT="$OUTPUT - Slash"
;;
"'\'") OUTPUT="$OUTPUT - Backslash"
;;
"*") OUTPUT="$OUTPUT - Asterisk"
;;
"%") OUTPUT="$OUTPUT - Percent"
;;
"@") OUTPUT="$OUTPUT - At"
;;
"=") OUTPUT="$OUTPUT - Equals"
;;
"(") OUTPUT="$OUTPUT - Left parenthesis"
;;
")") OUTPUT="$OUTPUT - Right parenthesis"
;;
"[") OUTPUT="$OUTPUT - Squared bracket open"
;;
"]") OUTPUT="$OUTPUT - Squared bracket closed"
;;
"{") OUTPUT="$OUTPUT - Brace open"
;;
"}") OUTPUT="$OUTPUT - Brace close"
;;
".") OUTPUT="$OUTPUT - Dot"
;;
",") OUTPUT="$OUTPUT - Comma"
;;
";") OUTPUT="$OUTPUT - Semicolon"
;;
":") OUTPUT="$OUTPUT - Colon"
;;
"ü") OUTPUT="$OUTPUT - übel"
;;
"Ü") OUTPUT="$OUTPUT - Übel"
;;
"ö") OUTPUT="$OUTPUT - öse"
;;
"Ö") OUTPUT="$OUTPUT - Öse"
;;
"ä") OUTPUT="$OUTPUT - ärger"
;;
"Ä") OUTPUT="$OUTPUT - Ärger"
;;
esac
let COUNTER+=1
done
OUTLEN=${#OUTPUT}
echo ${OUTPUT:2:$OUTLEN}
else
echo "$0 [word to show in phoneatics]"
exit
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment