#
# This script searches the input stream and keeps a counter for
# each of the strings we have defined.  Usage example:
# tail -f /var/log/apache/access_log | traffic_monitor
#
# Strings to search for....
search_string_1="POST"
search_string_2="GET"
search_string_3="robots"
#
# Initialize the counter variable for each item.
index=1
while (true)
  do
  varname=search_string_${index}
  search_string=${!varname}
  #
  if [ "$search_string" == "" ]
    then
    break
    fi
  ((counter_$index=0))
  ((index += 1))
  done
#
#-----------------------------
#
while read input_string
  do
  #
  # Search for each of the search strings in the input string.
  index=1
  while (true)
    do
    varname=search_string_${index}
    search_string=${!varname}
    # Done checking strings?
    if [ "$search_string" == "" ]
      then
      break
      fi
    #
    # Does the search string exist in this line?
    echo $input_string | grep "$search_string"  >nul
    if [ $? -eq 0 ]
      then
      varname2=counter_${index}
      (( temp=$varname2 ))
      (( temp += 1 ))
      (( $varname2=temp ))
      fi
    #
    ((index += 1))
    done

  # Display the counters.
  echo " "
  index=1
  while (true)
    do
    varname=search_string_${index}
    search_string=${!varname}
    #
    if [ "$search_string" == "" ]
      then
      break
      fi
    ((counter=counter_$index))
    echo "$search_string: $counter"
    ((index += 1))
    done

  done
#
#
