home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume32 / acronyms / part03 / whats < prev   
Text File  |  1992-09-20  |  2KB  |  86 lines

  1. #!/bin/sh
  2. #
  3. # NAME
  4. #      whats - lookup acronym/abbreviation in database
  5. #
  6. # SYNOPSIS
  7. #      whats [acronym [defn...]]
  8. #
  9. # DESCRIPTION
  10. #      Whats, without any arguments, prompts for an acronym to look up.
  11. #
  12. #      With one argument, whats prints all entries from the database
  13. #      that match the argument.  If no matches are found, whats
  14. #      prompts for expansion of the acronym or abbreviation.
  15. #
  16. #      With more than one argument, whats scans the database for
  17. #      entries matching the first argument.  If any matches are found,
  18. #      whats prints the matching entries and asks if the remaining
  19. #      arguments should be added as a new entry.  If no matches are
  20. #      found, a new entry is created for the first argument with the
  21. #      remaining arguments forming the expansion.
  22. #
  23. # FILES
  24. #      acron or $ACRON
  25. #
  26. # BUGS/DEFICIENCIES
  27. #      Not blindingly fast.
  28. #      Not tested under System V.  (Uses "echo -n", "grep -i")
  29. #
  30. # AUTHOR
  31. #      Dave Sill (dsill@nswc-oas.arpa) (de5@ornl.gov as of 6/90)
  32. #      Naval Surface Warfare Center (NSWC), Dahlgren, VA
  33. #
  34. n='-n'    # Use '' if your echo uses '\c'
  35. c=''    # Use '\c' if your echo uses it
  36. q='-i'    # Use '' or your grep's "ignore case" flag
  37.  
  38. if [ -z "$1" ]
  39. then
  40.     echo $n "What is what? $c"
  41.     read ac
  42. else
  43.     ac=$1
  44. fi
  45. ac=`echo ${ac} | tr "[a-z]" "[A-Z]"`
  46.  
  47. if [ ! -f acron ]
  48. then
  49.     acron=${ACRON}
  50. else
  51.     acron=acron
  52. fi
  53. i=`grep $q -c "^${ac}    " ${acron}`
  54.  
  55. if [ -z "$2" -a $i -ne 0 ]
  56. then
  57.     # No definition passed and is on file, so just do a lookup.
  58.     grep $q "^${ac}    " ${acron}
  59.     exit
  60. elif [ $i -ne 0 ]
  61. then
  62.     # Is on file and a definition was passed, check before adding.
  63.     echo $i occurrences found.
  64.     grep $q "^${ac}    " ${acron}
  65.     echo $n "Still want to add ${ac}? $c"
  66.     read reply
  67.     if [ "${reply}" = n -o "${reply}" = N ]
  68.     then
  69.     exit
  70.     fi
  71. fi
  72. if [ -z "$2" ]
  73. then
  74.     echo $n "What does ${ac} stand for? $c"
  75.     read def
  76.     if [ -z "${def}" ]
  77.     then
  78.     exit
  79.     fi
  80. else
  81.     shift
  82.     def=$*
  83. fi
  84. echo "${ac}    - ${def}" >>${acron}
  85. echo "${ac}    - ${def}"
  86.