Advertisement
howtophil

Text To Tap Code

Apr 3rd, 2019
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.82 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #--------------------------------------------------------------------------------------------
  4. # Use:
  5. # echo "Some message" | ./tapcode.sh
  6. # cat somefile.doc | ./tapcode
  7. # Message can only contain a-z or A-Z,
  8. # No numbers (unless spelled out) and
  9. # no punctuation.
  10. # A call sign with a K might be better off
  11. # spelling out the NATO phonetic:
  12. #
  13. # echo "Kilo E eight GGD" |./tapcode.sh
  14. #
  15. # 1,3 2,4 3,1 3,4 - 1,5 - 1,5 2,4 2,2 2,3 4,4 - 2,2 2,2 1,4
  16. #
  17. # I've added the dashes (-) simply as a
  18. # visual marker between words.
  19. #
  20. # To read about Tap Code see Wikipedia:
  21. # https://en.wikipedia.org/wiki/Tap_code
  22. #
  23. #--------------------------------------------------------------------------------------------
  24.  
  25. tr "[:lower:]" "[:upper:]" |tr '\n' ' '| (
  26.     # while loop
  27.     while IFS= read -r -n1 c
  28.     do
  29.         case "$c" in
  30.             A)  echo -n "1,1 " ;;
  31.             B)  echo -n "1,2 " ;;
  32.             C)  echo -n "1,3 " ;; # Same as K
  33.             D)  echo -n "1,4 " ;;
  34.             E)  echo -n "1,5 " ;;
  35.             F)  echo -n "2,1 " ;;
  36.             G)  echo -n "2,2 " ;;
  37.             H)  echo -n "2,3 " ;;
  38.             I)  echo -n "2,4 " ;;
  39.             J)  echo -n "2,5 " ;;
  40.             K)  echo -n "1,3 " ;; # Same as C
  41.             L)  echo -n "3,1 " ;;
  42.             M)  echo -n "3,2 " ;;
  43.             N)  echo -n "3,3 " ;;
  44.             O)  echo -n "3,4 " ;;
  45.             P)  echo -n "3,5 " ;;
  46.             Q)  echo -n "4,1 " ;;
  47.             R)  echo -n "4,2 " ;;
  48.             S)  echo -n "4,3 " ;;
  49.             T)  echo -n "4,4 " ;;
  50.             U)  echo -n "4,5 " ;;
  51.             V)  echo -n "5,1 " ;;
  52.             W)  echo -n "5,2 " ;;
  53.             X)  echo -n "5,3 " ;;
  54.             Y)  echo -n "5,4 " ;;
  55.             Z)  echo -n "5,5 " ;;
  56.             " ")  echo -n "- " ;;
  57.         esac
  58.     done
  59. )
  60. echo ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement