Script started on Fri Dec 21 17:32:32 2001
ws16% cat supercal

#!/bin/sh
#
#   Supercal script
#   by Russell Lowke   Dec 20th, 2001
#


nthElement()
{
    #
    # get nth element in list
    #

    shift $1
    echo $1
}


lastElement()
{
    #
    # get last element in list
    #
    
    for ITEM in $* ; do
        shift
    done
    echo $ITEM
}


addMonth()
{
    #
    # add a month(s) to MONTHS list
    #
    
    if [ "$PREVITEM" = "-" ] ; then
        # expand "mar - nov"
        STARTAT=`lastElement $MONTHS`

        while [ $THISITEM -gt $STARTAT ] ; do
            STARTAT=`expr $STARTAT + 1`
            MONTHS="$MONTHS $STARTAT"
        done
    else
        MONTHS="$MONTHS $THISITEM"
    fi
}


displayYear()
{
    #
    # Display calander $MONTHS
    #
    
    # check for zero args
    if [ $# = 0 ] && [ "$MONTHS" = "" ] ; then
        YEAR=""
    elif [ $# = 0 ] ; then
        DATE=`date`
        YEAR=`nthElement 6 $DATE`
    else
        YEAR=$1
    fi
    
    case "$YEAR" in
        "") #skip if year is empty 
            ;;
        *)
            # check for empty MONTHS list
            if [ "$MONTHS" = "" ] ; then
                # print entire year
                cal $YEAR
            else
                for THISMONTH in $MONTHS ; do
                    cal $THISMONTH $YEAR
                done
            fi ;;
    esac
    
    # clear months list
    MONTHS=""
}

name2Num()
{
    #
    # name2num: converts a single argument to the corresponding month number
    #

        M=$* ; RETVAL=0
        case $1 in
                jan*|Jan*)    M=1          ;;
                feb*|Feb*)    M=2          ;;
                mar*|Mar*)    M=3          ;;
                apr*|Apr*)    M=4          ;;
                may*|May*)    M=5          ;;
                jun*|Jun*)    M=6          ;;
                jul*|Jul*)    M=7          ;;
                aug*|Aug*)    M=8          ;;
                sep*|Sep*)    M=9          ;;
                oct*|Oct*)    M=10     ;;
                nov*|Nov*)    M=11     ;;
                dec*|Dec*)        M=12     ;;
                [1-9]|1[012]) M=$1     ;;    # accept nums, too
                *)                    RETVAL=1 ;;        # error condition
        esac
        echo $M
        exit $RETVAL
}


    MONTHS=""

    if [ $# = 0 ] ; then
        echo "No parameters"
    else
        
        while [ $# -gt 0 ] ; do
            PREVITEM=$THISITEM
            
            # convert month names to numbers
            THISITEM=`name2Num $1`

            # for values 1 to 12 addMonth,
            # ignore -, otherwise display year.
            case "$THISITEM" in
                [1-9])                addMonth;;
                [0-9][0-2])           addMonth;;
                -) ;;
                *) displayYear $THISITEM;;
            esac
            
            shift
        done
    fi

    # display year once list has finished
    displayYear

    exit 1
ws16% su[K[K./supercal jan june

       January 2001       
Sun Mon Tue Wed Thu Fri Sat  
     1   2   3   4   5   6
 7   8   9  10  11  12  13
14  15  16  17  18  19  20
21  22  23  24  25  26  27
28  29  30  31

         June 2001        
Sun Mon Tue Wed Thu Fri Sat  
                     1   2
 3   4   5   6   7   8   9
10  11  12  13  14  15  16
17  18  19  20  21  22  23
24  25  26  27  28  29  30

ws16% ./supercal jan june[K[K[K[K[K[K[Kmar - nov

        March 2001        
Sun Mon Tue Wed Thu Fri Sat  
                 1   2   3
 4   5   6   7   8   9  10
11  12  13  14  15  16  17
18  19  20  21  22  23  24
25  26  27  28  29  30  31

        April 2001        
Sun Mon Tue Wed Thu Fri Sat  
 1   2   3   4   5   6   7
 8   9  10  11  12  13  14
15  16  17  18  19  20  21
22  23  24  25  26  27  28
29  30

         May 2001         
Sun Mon Tue Wed Thu Fri Sat  
         1   2   3   4   5
 6   7   8   9  10  11  12
13  14  15  16  17  18  19
20  21  22  23  24  25  26
27  28  29  30  31

         June 2001        
Sun Mon Tue Wed Thu Fri Sat  
                     1   2
 3   4   5   6   7   8   9
10  11  12  13  14  15  16
17  18  19  20  21  22  23
24  25  26  27  28  29  30

         July 2001        
Sun Mon Tue Wed Thu Fri Sat  
 1   2   3   4   5   6   7
 8   9  10  11  12  13  14
15  16  17  18  19  20  21
22  23  24  25  26  27  28
29  30  31

        August 2001       
Sun Mon Tue Wed Thu Fri Sat  
             1   2   3   4
 5   6   7   8   9  10  11
12  13  14  15  16  17  18
19  20  21  22  23  24  25
26  27  28  29  30  31

      September 2001      
Sun Mon Tue Wed Thu Fri Sat  
                         1
 2   3   4   5   6   7   8
 9  10  11  12  13  14  15
16  17  18  19  20  21  22
23  24  25  26  27  28  29
30
       October 2001       
Sun Mon Tue Wed Thu Fri Sat  
     1   2   3   4   5   6
 7   8   9  10  11  12  13
14  15  16  17  18  19  20
21  22  23  24  25  26  27
28  29  30  31

       November 2001      
Sun Mon Tue Wed Thu Fri Sat  
                 1   2   3
 4   5   6   7   8   9  10
11  12  13  14  15  16  17
18  19  20  21  22  23  24
25  26  27  28  29  30

ws16% ./supercal mar - nov[K[K[K[K[K[K[Kmar - may 1992 may August 1983 1990

        March 1992        
Sun Mon Tue Wed Thu Fri Sat  
 1   2   3   4   5   6   7
 8   9  10  11  12  13  14
15  16  17  18  19  20  21
22  23  24  25  26  27  28
29  30  31

        April 1992        
Sun Mon Tue Wed Thu Fri Sat  
             1   2   3   4
 5   6   7   8   9  10  11
12  13  14  15  16  17  18
19  20  21  22  23  24  25
26  27  28  29  30

         May 1992         
Sun Mon Tue Wed Thu Fri Sat  
                     1   2
 3   4   5   6   7   8   9
10  11  12  13  14  15  16
17  18  19  20  21  22  23
24  25  26  27  28  29  30
31
         May 1983         
Sun Mon Tue Wed Thu Fri Sat  
 1   2   3   4   5   6   7
 8   9  10  11  12  13  14
15  16  17  18  19  20  21
22  23  24  25  26  27  28
29  30  31

        August 1983       
Sun Mon Tue Wed Thu Fri Sat  
     1   2   3   4   5   6
 7   8   9  10  11  12  13
14  15  16  17  18  19  20
21  22  23  24  25  26  27
28  29  30  31




                        1990

          January                     February         
Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat  
     1   2   3   4   5   6                    1   2   3
 7   8   9  10  11  12  13    4   5   6   7   8   9  10
14  15  16  17  18  19  20   11  12  13  14  15  16  17
21  22  23  24  25  26  27   18  19  20  21  22  23  24
28  29  30  31               25  26  27  28

           March                        April          
Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat  
                 1   2   3    1   2   3   4   5   6   7
 4   5   6   7   8   9  10    8   9  10  11  12  13  14
11  12  13  14  15  16  17   15  16  17  18  19  20  21
18  19  20  21  22  23  24   22  23  24  25  26  27  28
25  26  27  28  29  30  31   29  30

            May                         June           
Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat  
         1   2   3   4   5                        1   2
 6   7   8   9  10  11  12    3   4   5   6   7   8   9
13  14  15  16  17  18  19   10  11  12  13  14  15  16
20  21  22  23  24  25  26   17  18  19  20  21  22  23
27  28  29  30  31           24  25  26  27  28  29  30

           July                        August          
Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat  
 1   2   3   4   5   6   7                1   2   3   4
 8   9  10  11  12  13  14    5   6   7   8   9  10  11
15  16  17  18  19  20  21   12  13  14  15  16  17  18
22  23  24  25  26  27  28   19  20  21  22  23  24  25
29  30  31                   26  27  28  29  30  31

         September                     October         
Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat  
                         1        1   2   3   4   5   6
 2   3   4   5   6   7   8    7   8   9  10  11  12  13
 9  10  11  12  13  14  15   14  15  16  17  18  19  20
16  17  18  19  20  21  22   21  22  23  24  25  26  27
23  24  25  26  27  28  29   28  29  30  31
30
         November                     December         
Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat  
                 1   2   3                            1
 4   5   6   7   8   9  10    2   3   4   5   6   7   8
11  12  13  14  15  16  17    9  10  11  12  13  14  15
18  19  20  21  22  23  24   16  17  18  19  20  21  22
25  26  27  28  29  30       23  24  25  26  27  28  29
                             30  31



ws16% cat fdb

#!/bin/sh
#
#       fdb     - freshmen database interface
#
#       purpose: extract info from freshmen 
#         usage: fdb [ options ]
#
#       description: 
#               with no options, fdb dumps all records in the freshmen
#               database to stdout in the form:  LN=xxx:LN=xxx:CL=xx:AD=xxx
#               Command line options affect selection and format of records.
#
#       options: 
#
#       FLD=VAL         any argument of this form restricts the output to
#                       records that fit that criterion. e.g. "fdb FN=Jane" 
#                       outputs only those records where FN = Jane.  Note, 
#                       multiple restrictions may appear on the command 
#                       line, each further restricts output.
#
#        -p             "Pretty-print" output in form '92 Smith, John
#
#        -f filename    Read from datafile `filename' instead of freshmen
#
#        -s             Sort output by class then lastname.  This automa-
#                       tically sets the -p option.
#
#       to be implemented later
#
#        -c             Count number of records 
#
#        -v fld=value   Reverse the sense of a condition.  e.g.
#                       fdb -v FN=Fred  excludes all records where
#                       FN = Fred.  The -v option affects only the
#                       subsequent argument.  Thus, 
#                                 fdb -v FN=Fred CL=90 will output all
#                       members of the class of 90 not named fred
#       bugs:
#
#       fdb FN=Mary     will catch Mary, Mary-Jane, Mary-Jo ...
#                       It shouldn't do that.

# -----------------------------------------------------------------
# 0: set up some vars
# -----------------------------------------------------------------

    WORDCOUNT=NO                            # a flag
        PRETTY=NO                                               # a flag
        DATAFILE=freshmen                                   # a file
        SORTIT=NO                                               # a flag
    INVERSE=NO                              # a flag
    XML=NO                                  # a flag
        CONDLIST=""                                             # conditions
        TEMPFILE1=/tmp/$$.1                                 # scratch
        TEMPFILE2=/tmp/$$.2                                 # more scratch

# -----------------------------------------------------------------
# 1: run the command line
# -----------------------------------------------------------------

    while [ $# -gt 0 ] ; do                                 # while argc>0
                case "$1" in
                        *=*) CONDLIST="$CONDLIST $1"             ;;
                        -p)      PRETTY=YES                      ;;
                        -s)      SORTIT=YES
                                 PRETTY=YES                                  ;;
                        -f)      shift
                                 if [ "x$1" = "x" ] ; then
                                    echo "-f flag needs arg"
                                exit 1
                             fi
                             DATAFILE=$1                     ;;
            -c)  WORDCOUNT=YES                   ;;
            -v)  CONDLIST="$CONDLIST -v"         ;;
            -x)  XML=YES                         ;;
                        *)       echo "Unknown option" ; exit 2  ;;
                esac
                shift                                           # to next arg
    done

#
# check for XML v PRETTY clash
#
    if [ $PRETTY = YES ] && [ $XML = YES ] ; then
        echo "Cannot pprint and output to XML"
        exit 2
    fi

# -----------------------------------------------------------------
# 2: process the stuff
#       each condition runs grep on an ever smaller set of data
#       then if there is pretty printing, do that
#       then if there is sorting do that
# -----------------------------------------------------------------

    # sed 's/$/:/' $DATAFILE > $TEMPFILE1    # work with copy + ':' at end
    
    # NOTE: my fl does not accept colons (:) at the end of lines so... 
    #   I can't use sed cmd (see # above), and must use...
    #   grep -i -E "$condition:|$condition$"
    #   when checking, looking for both end of line ($), and colon (:),
    #   instead of just...
    #   grep -i "$condition:"
    
    cp $DATAFILE $TEMPFILE1                  # work with copy
        
        if [ "$CONDLIST" != "" ] ; then          # prepare for filtering
                for condition in $CONDLIST ; do
            if [ $condition = "-v" ] ; then
                INVERSE=YES
            elif [ "$INVERSE" = YES ] ; then
                grep -i -v -E "$condition:|$condition$" $TEMPFILE1 > $TEMPFILE2
                INVERSE=NO
                mv $TEMPFILE2 $TEMPFILE1
            else
                grep -i -E "$condition:|$condition$" $TEMPFILE1 > $TEMPFILE2
                mv $TEMPFILE2 $TEMPFILE1
            fi
                done
        fi

        # ... format nicely? ..
        if [ "$PRETTY" = YES ] ; then
        :
        pprint < $TEMPFILE1 > $TEMPFILE2     # format
        mv $TEMPFILE2 $TEMPFILE1             # rename
        fi

        # ... and sort it? ...
        if [ "$SORTIT" = YES ] ; then
                sort $TEMPFILE1
        fi

    # ... output as XML? ...
    if [ "$XML" = YES ] ; then
        echo "<?xml version = \"1.0\"?>"
        echo "<list>"
            ./fl sample.fmt < $TEMPFILE1
        echo "</list>"
    else
        cat $TEMPFILE1
    fi
    
    # ... give wordcount? ...
    if [ "$WORDCOUNT" = YES ] ; then
        echo "Word Count ="`wc -l < $TEMPFILE1`
    fi

# -----------------------------------------------------------------
# 3: clean up scratch files
# -----------------------------------------------------------------

        rm -f $TEMPFILE1 $TEMPFILE2

ws16% cat sample.fmt

  <student id= %=RECORDNUMBER%> 
    <LN>%LN%</LN>
    <FN>%FN%</FN>
    <CL>%CL%</CL>
    <AD>%AD%</AD>
  </student>
ws16% cat sample.fmt[K[K[K[K[K[K[K[K[K[K[K[K[K./fdb fn=sarah

LN=gray:FN=sarah:CL=93:AD=greenough
LN=hicks:FN=sarah:CL=93:AD=matthews
LN=kendrick:FN=sarah:CL=93:AD=lionel
LN=kirshbaum:FN=sarah:CL=93:AD=weld
LN=levine:FN=sarah:CL=93:AD=hollis
LN=majercik:FN=sarah:CL=93:AD=weld
LN=semerjian:FN=sarah:CL=93:AD=pennypacker
LN=sidman:FN=sarah:CL=93:AD=grays
LN=tobiason:FN=sarah:CL=93:AD=lionel
LN=varela:FN=sarah:CL=93:AD=hollis
LN=bernbach:FN=sarah:CL=92:AD=thayer
LN=blake:FN=sarah:CL=92:AD=massachusetts
LN=cahn:FN=sarah:CL=92:AD=pennypacker
LN=colt:FN=sarah:CL=92:AD=pennypacker
LN=fels:FN=sarah:CL=92:AD=canaday
LN=goodrich:FN=sarah:CL=92:AD=grays
LN=herr:FN=sarah:CL=92:AD=matthews
LN=kent:FN=sarah:CL=92:AD=grays
LN=kline:FN=sarah:CL=92:AD=greenough
LN=leary:FN=sarah:CL=92:AD=lionel
LN=margolies:FN=sarah:CL=92:AD=wigglesworth
LN=milius:FN=sarah:CL=92:AD=grays
LN=patek:FN=sarah:CL=92:AD=hurlbut
LN=silbert:FN=sarah:CL=92:AD=canaday
LN=truitt:FN=sarah:CL=92:AD=wigglesworth
LN=zurcher:FN=sarah:CL=92:AD=straus
LN=allen:FN=sarah:CL=91:AD=matthews
LN=frederick:FN=sarah:CL=91:AD=thayer
LN=hung:FN=sarah:CL=91:AD=straus
LN=igo:FN=sarah:CL=91:AD=canaday
LN=kozodoy:FN=sarah:CL=91:AD=canaday
LN=lydon:FN=sarah:CL=91:AD=thayer
LN=mitchell:FN=sarah:CL=91:AD=thayer
LN=morris:FN=sarah:CL=91:AD=grays
LN=stevenson:FN=sarah:CL=91:AD=holworthy
LN=thach:FN=sarah:CL=91:AD=weld
LN=wigglesworth:FN=sarah:CL=91:AD=canaday
LN=wilcox:FN=sarah:CL=91:AD=matthews
LN=alcorn:FN=sarah:CL=90:AD=stoughton
LN=beck:FN=sarah:CL=90:AD=thayer
LN=gridley:FN=sarah:CL=90:AD=hollis
LN=highland:FN=sarah:CL=90:AD=greenough
LN=james:FN=sarah:CL=90:AD=lionel
LN=kariko:FN=sarah:CL=90:AD=matthews
LN=munro:FN=sarah:CL=90:AD=straus
LN=nickerson:FN=sarah:CL=90:AD=canaday
LN=schindler:FN=sarah:CL=90:AD=greenough
LN=strasser:FN=sarah:CL=90:AD=thayer
LN=touborg:FN=sarah:CL=90:AD=hurlbut
LN=voll:FN=sarah:CL=90:AD=pennypacker
LN=wilson:FN=sarah:CL=90:AD=canaday
LN=bayliss:FN=sarah:CL=89:AD=#off-campus
LN=busse:FN=sarah:CL=89:AD=wigglesworth
LN=duncan:FN=sarah:CL=89:AD=matthews
LN=frankel:FN=sarah:CL=89:AD=grays
LN=gross:FN=sarah:CL=89:AD=wigglesworth
LN=halper:FN=sarah:CL=89:AD=matthews
LN=hammond:FN=sarah:CL=89:AD=wigglesworth
LN=hodder:FN=sarah:CL=89:AD=canaday
LN=kerr:FN=sarah:CL=89:AD=mower
LN=lamport:FN=sarah:CL=89:AD=canaday
LN=laskin:FN=sarah:CL=89:AD=straus
LN=marx:FN=sarah:CL=89:AD=wigglesworth
LN=pearson:FN=sarah:CL=89:AD=grays
LN=wood:FN=sarah:CL=89:AD=matthews
LN=yeates:FN=sarah:CL=89:AD=canaday
ws16% ./fdb fn=sarah[K[K[K[K[K[K[K[K-c fn=sarah

LN=gray:FN=sarah:CL=93:AD=greenough
LN=hicks:FN=sarah:CL=93:AD=matthews
LN=kendrick:FN=sarah:CL=93:AD=lionel
LN=kirshbaum:FN=sarah:CL=93:AD=weld
LN=levine:FN=sarah:CL=93:AD=hollis
LN=majercik:FN=sarah:CL=93:AD=weld
LN=semerjian:FN=sarah:CL=93:AD=pennypacker
LN=sidman:FN=sarah:CL=93:AD=grays
LN=tobiason:FN=sarah:CL=93:AD=lionel
LN=varela:FN=sarah:CL=93:AD=hollis
LN=bernbach:FN=sarah:CL=92:AD=thayer
LN=blake:FN=sarah:CL=92:AD=massachusetts
LN=cahn:FN=sarah:CL=92:AD=pennypacker
LN=colt:FN=sarah:CL=92:AD=pennypacker
LN=fels:FN=sarah:CL=92:AD=canaday
LN=goodrich:FN=sarah:CL=92:AD=grays
LN=herr:FN=sarah:CL=92:AD=matthews
LN=kent:FN=sarah:CL=92:AD=grays
LN=kline:FN=sarah:CL=92:AD=greenough
LN=leary:FN=sarah:CL=92:AD=lionel
LN=margolies:FN=sarah:CL=92:AD=wigglesworth
LN=milius:FN=sarah:CL=92:AD=grays
LN=patek:FN=sarah:CL=92:AD=hurlbut
LN=silbert:FN=sarah:CL=92:AD=canaday
LN=truitt:FN=sarah:CL=92:AD=wigglesworth
LN=zurcher:FN=sarah:CL=92:AD=straus
LN=allen:FN=sarah:CL=91:AD=matthews
LN=frederick:FN=sarah:CL=91:AD=thayer
LN=hung:FN=sarah:CL=91:AD=straus
LN=igo:FN=sarah:CL=91:AD=canaday
LN=kozodoy:FN=sarah:CL=91:AD=canaday
LN=lydon:FN=sarah:CL=91:AD=thayer
LN=mitchell:FN=sarah:CL=91:AD=thayer
LN=morris:FN=sarah:CL=91:AD=grays
LN=stevenson:FN=sarah:CL=91:AD=holworthy
LN=thach:FN=sarah:CL=91:AD=weld
LN=wigglesworth:FN=sarah:CL=91:AD=canaday
LN=wilcox:FN=sarah:CL=91:AD=matthews
LN=alcorn:FN=sarah:CL=90:AD=stoughton
LN=beck:FN=sarah:CL=90:AD=thayer
LN=gridley:FN=sarah:CL=90:AD=hollis
LN=highland:FN=sarah:CL=90:AD=greenough
LN=james:FN=sarah:CL=90:AD=lionel
LN=kariko:FN=sarah:CL=90:AD=matthews
LN=munro:FN=sarah:CL=90:AD=straus
LN=nickerson:FN=sarah:CL=90:AD=canaday
LN=schindler:FN=sarah:CL=90:AD=greenough
LN=strasser:FN=sarah:CL=90:AD=thayer
LN=touborg:FN=sarah:CL=90:AD=hurlbut
LN=voll:FN=sarah:CL=90:AD=pennypacker
LN=wilson:FN=sarah:CL=90:AD=canaday
LN=bayliss:FN=sarah:CL=89:AD=#off-campus
LN=busse:FN=sarah:CL=89:AD=wigglesworth
LN=duncan:FN=sarah:CL=89:AD=matthews
LN=frankel:FN=sarah:CL=89:AD=grays
LN=gross:FN=sarah:CL=89:AD=wigglesworth
LN=halper:FN=sarah:CL=89:AD=matthews
LN=hammond:FN=sarah:CL=89:AD=wigglesworth
LN=hodder:FN=sarah:CL=89:AD=canaday
LN=kerr:FN=sarah:CL=89:AD=mower
LN=lamport:FN=sarah:CL=89:AD=canaday
LN=laskin:FN=sarah:CL=89:AD=straus
LN=marx:FN=sarah:CL=89:AD=wigglesworth
LN=pearson:FN=sarah:CL=89:AD=grays
LN=wood:FN=sarah:CL=89:AD=matthews
LN=yeates:FN=sarah:CL=89:AD=canaday
Word Count = 66
ws16% ./fdb -c fn=sarah[K[K[K[K[K[K[K[K[K[K-v ln=Adams Fn=John

LN=alderman:FN=john:CL=93:AD=wigglesworth
LN=anderson:FN=john:CL=93:AD=matthews
LN=biers:FN=john:CL=93:AD=canaday
LN=boit:FN=john:CL=93:AD=matthews
LN=carr:FN=john:CL=93:AD=canaday
LN=cawley:FN=john:CL=93:AD=thayer
LN=chang:FN=john:CL=93:AD=pennypacker
LN=cloud:FN=john:CL=93:AD=canaday
LN=cooper:FN=john:CL=93:AD=canaday
LN=devoy:FN=john:CL=93:AD=thayer
LN=donahue:FN=john:CL=93:AD=pennypacker
LN=hancock:FN=john:CL=93:AD=pennypacker
LN=kalyvas:FN=john:CL=93:AD=matthews
LN=karle:FN=john:CL=93:AD=canaday
LN=klopf:FN=john:CL=93:AD=matthews
LN=kosakowski:FN=john:CL=93:AD=canaday
LN=ma:FN=john:CL=93:AD=mower
LN=moore:FN=john:CL=93:AD=canaday
LN=morton:FN=john:CL=93:AD=hurlbut
LN=pitzer:FN=john:CL=93:AD=weld
LN=pottow:FN=john:CL=93:AD=canaday
LN=pruellage:FN=john:CL=93:AD=hollis
LN=quisel:FN=john:CL=93:AD=lionel
LN=roberts:FN=john:CL=93:AD=canaday
LN=rossetti:FN=john:CL=93:AD=mower
LN=simpkins:FN=john:CL=93:AD=canaday
LN=staines:FN=john:CL=93:AD=holworthy
LN=weinstein:FN=john:CL=93:AD=canaday
LN=baker:FN=john:CL=92:AD=thayer
LN=bartlett:FN=john:CL=92:AD=hurlbut
LN=bennett:FN=john:CL=92:AD=weld
LN=bernard:FN=john:CL=92:AD=canaday
LN=burke:FN=john:CL=92:AD=thayer
LN=chung:FN=john:CL=92:AD=matthews
LN=connor:FN=john:CL=92:AD=canaday
LN=davis:FN=john:CL=92:AD=hollis
LN=dickson:FN=john:CL=92:AD=lionel
LN=digeorge:FN=john:CL=92:AD=weld
LN=dyett:FN=john:CL=92:AD=weld
LN=fenton:FN=john:CL=92:AD=stoughton
LN=finley:FN=john:CL=92:AD=grays
LN=fiske:FN=john:CL=92:AD=straus
LN=fitzgibbons:FN=john:CL=92:AD=matthews
LN=gellert:FN=john:CL=92:AD=weld
LN=golden:FN=john:CL=92:AD=straus
LN=guzzy:FN=john:CL=92:AD=weld
LN=haddad:FN=john:CL=92:AD=#off-campus
LN=hourigan:FN=john:CL=92:AD=#off-campus
LN=kim:FN=john:CL=92:AD=pennypacker
LN=kirby:FN=john:CL=92:AD=pennypacker
LN=knepper:FN=john:CL=92:AD=straus
LN=lausch:FN=john:CL=92:AD=grays
LN=lindholm:FN=john:CL=92:AD=matthews
LN=mallory:FN=john:CL=92:AD=weld
LN=mann:FN=john:CL=92:AD=canaday
LN=mateyak:FN=john:CL=92:AD=stoughton
LN=mcdermott:FN=john:CL=92:AD=massachusetts
LN=meats:FN=john:CL=92:AD=matthews
LN=middleton:FN=john:CL=92:AD=canaday
LN=milbauer:FN=john:CL=92:AD=pennypacker
LN=niles:FN=john:CL=92:AD=matthews
LN=noonan:FN=john:CL=92:AD=#off-campus
LN=oakes:FN=john:CL=92:AD=thayer
LN=petricola:FN=john:CL=92:AD=canaday
LN=pulvino:FN=john:CL=92:AD=stoughton
LN=robertson:FN=john:CL=92:AD=weld
LN=rosenberger:FN=john:CL=92:AD=greenough
LN=rubin:FN=john:CL=92:AD=canaday
LN=schoeffel:FN=john:CL=92:AD=stoughton
LN=shutt:FN=john:CL=92:AD=weld
LN=suh:FN=john:CL=92:AD=massachusetts
LN=symington:FN=john:CL=92:AD=matthews
LN=tolmie:FN=john:CL=92:AD=pennypacker
LN=woo:FN=john:CL=92:AD=weld
LN=santry:FN=john:CL=92:AD=mather
LN=altman:FN=john:CL=91:AD=canaday
LN=barker:FN=john:CL=91:AD=grays
LN=barry:FN=john:CL=91:AD=greenough
LN=borozan:FN=john:CL=91:AD=canaday
LN=boyer:FN=john:CL=91:AD=matthews
LN=brzezenski:FN=john:CL=91:AD=matthews
LN=buten:FN=john:CL=91:AD=greenough
LN=byrd:FN=john:CL=91:AD=canaday
LN=copeland:FN=john:CL=91:AD=thayer
LN=deangelis:FN=john:CL=91:AD=thayer
LN=demarchi:FN=john:CL=91:AD=massachusetts
LN=delgado:FN=john:CL=91:AD=pennypacker
LN=ducey:FN=john:CL=91:AD=pennypacker
LN=felitti:FN=john:CL=91:AD=holworthy
LN=goldstone:FN=john:CL=91:AD=canaday
LN=gomez:FN=john:CL=91:AD=stoughton
LN=graham:FN=john:CL=91:AD=matthews
LN=greco:FN=john:CL=91:AD=greenough
LN=hunt:FN=john:CL=91:AD=thayer
LN=jakimczyk:FN=john:CL=91:AD=weld
LN=kerkering:FN=john:CL=91:AD=thayer
LN=koenigsknecht:FN=john:CL=91:AD=grays
LN=larew:FN=john:CL=91:AD=straus
LN=marshall:FN=john:CL=91:AD=wigglesworth
LN=mccabe:FN=john:CL=91:AD=grays
LN=mee:FN=john:CL=91:AD=lionel
LN=merz:FN=john:CL=91:AD=holworthy
LN=millard:FN=john:CL=91:AD=holworthy
LN=moynihan:FN=john:CL=91:AD=massachusetts
LN=nash:FN=john:CL=91:AD=mower
LN=nowaczyk:FN=john:CL=91:AD=thayer
LN=oh:FN=john:CL=91:AD=straus
LN=palladino:FN=john:CL=91:AD=wigglesworth
LN=shovlin:FN=john:CL=91:AD=canaday
LN=shue:FN=john:CL=91:AD=holworthy
LN=sileo:FN=john:CL=91:AD=grays
LN=sohn:FN=john:CL=91:AD=hollis
LN=sparks:FN=john:CL=91:AD=matthews
LN=stein:FN=john:CL=91:AD=wigglesworth
LN=sweeney:FN=john:CL=91:AD=greenough
LN=weisbrod:FN=john:CL=91:AD=wigglesworth
LN=beber:FN=john:CL=90:AD=matthews
LN=brewington:FN=john:CL=90:AD=wigglesworth
LN=claflin:FN=john:CL=90:AD=canaday
LN=colfax:FN=john:CL=90:AD=pennypacker
LN=donaghy:FN=john:CL=90:AD=mower
LN=dowling:FN=john:CL=90:AD=#off-campus
LN=eggert:FN=john:CL=90:AD=matthews
LN=elizondo:FN=john:CL=90:AD=canaday
LN=emerson:FN=john:CL=90:AD=weld
LN=fisher:FN=john:CL=90:AD=thayer
LN=friend:FN=john:CL=90:AD=matthews
LN=grimm:FN=john:CL=90:AD=hurlbut
LN=hou:FN=john:CL=90:AD=lionel
LN=iversen:FN=john:CL=90:AD=hurlbut
LN=jacobson:FN=john:CL=90:AD=weld
LN=kennedy:FN=john:CL=90:AD=matthews
LN=kwun:FN=john:CL=90:AD=weld
LN=lee:FN=john:CL=90:AD=thayer
LN=levinson:FN=john:CL=90:AD=thayer
LN=liu:FN=john:CL=90:AD=weld
LN=macfarlane:FN=john:CL=90:AD=mower
LN=malone:FN=john:CL=90:AD=greenough
LN=meyer:FN=john:CL=90:AD=grays
LN=montoya:FN=john:CL=90:AD=wigglesworth
LN=murphy:FN=john:CL=90:AD=canaday
LN=ortega:FN=john:CL=90:AD=straus
LN=richards:FN=john:CL=90:AD=holworthy
LN=robbins:FN=john:CL=90:AD=thayer
LN=robinson:FN=john:CL=90:AD=wigglesworth
LN=rodarte:FN=john:CL=90:AD=weld
LN=santry:FN=john:CL=90:AD=pennypacker
LN=serieka:FN=john:CL=90:AD=massachusetts
LN=sheridan:FN=john:CL=90:AD=greenough
LN=smith:FN=john:CL=90:AD=grays
LN=stanley:FN=john:CL=90:AD=canaday
LN=wesson:FN=john:CL=90:AD=grays
LN=williams:FN=john:CL=90:AD=grays
LN=willoughby:FN=john:CL=90:AD=grays
LN=zedd:FN=john:CL=90:AD=canaday
LN=amory:FN=john:CL=89:AD=mower
LN=bartholomew:FN=john:CL=89:AD=canaday
LN=baughman:FN=john:CL=89:AD=straus
LN=bender:FN=john:CL=89:AD=hurlbut
LN=bible:FN=john:CL=89:AD=wigglesworth
LN=bryant:FN=john:CL=89:AD=holworthy
LN=buchanan:FN=john:CL=89:AD=matthews
LN=campanelli:FN=john:CL=89:AD=holworthy
LN=chettle:FN=john:CL=89:AD=wigglesworth
LN=danahy:FN=john:CL=89:AD=mower
LN=defigueiredo:FN=john:CL=89:AD=#off-campus
LN=dineen:FN=john:CL=89:AD=#off-campus
LN=dodge:FN=john:CL=89:AD=wigglesworth
LN=flynn:FN=john:CL=89:AD=canaday
LN=foster:FN=john:CL=89:AD=matthews
LN=garretson:FN=john:CL=89:AD=canaday
LN=griffin:FN=john:CL=89:AD=canaday
LN=herr:FN=john:CL=89:AD=canaday
LN=heymach:FN=john:CL=89:AD=hollis
LN=hodgson:FN=john:CL=89:AD=grays
LN=jacobsen:FN=john:CL=89:AD=matthews
LN=janzen:FN=john:CL=89:AD=weld
LN=kamerer:FN=john:CL=89:AD=matthews
LN=kuo:FN=john:CL=89:AD=grays
LN=larrivee:FN=john:CL=89:AD=canaday
LN=lee:FN=john:CL=89:AD=matthews
LN=mayer:FN=john:CL=89:AD=weld
LN=mills:FN=john:CL=89:AD=hurlbut
LN=montgomery:FN=john:CL=89:AD=canaday
LN=moon:FN=john:CL=89:AD=thayer
LN=nacos:FN=john:CL=89:AD=pennypacker
LN=oehmler:FN=john:CL=89:AD=matthews
LN=oja:FN=john:CL=89:AD=grays
LN=pananen:FN=john:CL=89:AD=pennypacker
LN=plotz:FN=john:CL=89:AD=canaday
LN=rabin:FN=john:CL=89:AD=canaday
LN=reece:FN=john:CL=89:AD=matthews
LN=rowe:FN=john:CL=89:AD=massachusetts
LN=rusher:FN=john:CL=89:AD=weld
LN=salera:FN=john:CL=89:AD=grays
LN=sasaki:FN=john:CL=89:AD=straus
LN=schiavone:FN=john:CL=89:AD=greenough
LN=soboeiro:FN=john:CL=89:AD=hurlbut
LN=synodinos:FN=john:CL=89:AD=matthews
LN=thompson:FN=john:CL=89:AD=pennypacker
LN=tyson:FN=john:CL=89:AD=#off-campus
LN=vincent:FN=john:CL=89:AD=wigglesworth
LN=waskom:FN=john:CL=89:AD=massachusetts
LN=yoo:FN=john:CL=89:AD=weld
LN=yoon:FN=john:CL=89:AD=matthews
ws16% ./fdb -v ln=Adams Fn=John-[4h-[4lv[4hc[4l-[4h [4l--v ln=Adams Fn=John

LN=alderman:FN=john:CL=93:AD=wigglesworth
LN=anderson:FN=john:CL=93:AD=matthews
LN=biers:FN=john:CL=93:AD=canaday
LN=boit:FN=john:CL=93:AD=matthews
LN=carr:FN=john:CL=93:AD=canaday
LN=cawley:FN=john:CL=93:AD=thayer
LN=chang:FN=john:CL=93:AD=pennypacker
LN=cloud:FN=john:CL=93:AD=canaday
LN=cooper:FN=john:CL=93:AD=canaday
LN=devoy:FN=john:CL=93:AD=thayer
LN=donahue:FN=john:CL=93:AD=pennypacker
LN=hancock:FN=john:CL=93:AD=pennypacker
LN=kalyvas:FN=john:CL=93:AD=matthews
LN=karle:FN=john:CL=93:AD=canaday
LN=klopf:FN=john:CL=93:AD=matthews
LN=kosakowski:FN=john:CL=93:AD=canaday
LN=ma:FN=john:CL=93:AD=mower
LN=moore:FN=john:CL=93:AD=canaday
LN=morton:FN=john:CL=93:AD=hurlbut
LN=pitzer:FN=john:CL=93:AD=weld
LN=pottow:FN=john:CL=93:AD=canaday
LN=pruellage:FN=john:CL=93:AD=hollis
LN=quisel:FN=john:CL=93:AD=lionel
LN=roberts:FN=john:CL=93:AD=canaday
LN=rossetti:FN=john:CL=93:AD=mower
LN=simpkins:FN=john:CL=93:AD=canaday
LN=staines:FN=john:CL=93:AD=holworthy
LN=weinstein:FN=john:CL=93:AD=canaday
LN=baker:FN=john:CL=92:AD=thayer
LN=bartlett:FN=john:CL=92:AD=hurlbut
LN=bennett:FN=john:CL=92:AD=weld
LN=bernard:FN=john:CL=92:AD=canaday
LN=burke:FN=john:CL=92:AD=thayer
LN=chung:FN=john:CL=92:AD=matthews
LN=connor:FN=john:CL=92:AD=canaday
LN=davis:FN=john:CL=92:AD=hollis
LN=dickson:FN=john:CL=92:AD=lionel
LN=digeorge:FN=john:CL=92:AD=weld
LN=dyett:FN=john:CL=92:AD=weld
LN=fenton:FN=john:CL=92:AD=stoughton
LN=finley:FN=john:CL=92:AD=grays
LN=fiske:FN=john:CL=92:AD=straus
LN=fitzgibbons:FN=john:CL=92:AD=matthews
LN=gellert:FN=john:CL=92:AD=weld
LN=golden:FN=john:CL=92:AD=straus
LN=guzzy:FN=john:CL=92:AD=weld
LN=haddad:FN=john:CL=92:AD=#off-campus
LN=hourigan:FN=john:CL=92:AD=#off-campus
LN=kim:FN=john:CL=92:AD=pennypacker
LN=kirby:FN=john:CL=92:AD=pennypacker
LN=knepper:FN=john:CL=92:AD=straus
LN=lausch:FN=john:CL=92:AD=grays
LN=lindholm:FN=john:CL=92:AD=matthews
LN=mallory:FN=john:CL=92:AD=weld
LN=mann:FN=john:CL=92:AD=canaday
LN=mateyak:FN=john:CL=92:AD=stoughton
LN=mcdermott:FN=john:CL=92:AD=massachusetts
LN=meats:FN=john:CL=92:AD=matthews
LN=middleton:FN=john:CL=92:AD=canaday
LN=milbauer:FN=john:CL=92:AD=pennypacker
LN=niles:FN=john:CL=92:AD=matthews
LN=noonan:FN=john:CL=92:AD=#off-campus
LN=oakes:FN=john:CL=92:AD=thayer
LN=petricola:FN=john:CL=92:AD=canaday
LN=pulvino:FN=john:CL=92:AD=stoughton
LN=robertson:FN=john:CL=92:AD=weld
LN=rosenberger:FN=john:CL=92:AD=greenough
LN=rubin:FN=john:CL=92:AD=canaday
LN=schoeffel:FN=john:CL=92:AD=stoughton
LN=shutt:FN=john:CL=92:AD=weld
LN=suh:FN=john:CL=92:AD=massachusetts
LN=symington:FN=john:CL=92:AD=matthews
LN=tolmie:FN=john:CL=92:AD=pennypacker
LN=woo:FN=john:CL=92:AD=weld
LN=santry:FN=john:CL=92:AD=mather
LN=altman:FN=john:CL=91:AD=canaday
LN=barker:FN=john:CL=91:AD=grays
LN=barry:FN=john:CL=91:AD=greenough
LN=borozan:FN=john:CL=91:AD=canaday
LN=boyer:FN=john:CL=91:AD=matthews
LN=brzezenski:FN=john:CL=91:AD=matthews
LN=buten:FN=john:CL=91:AD=greenough
LN=byrd:FN=john:CL=91:AD=canaday
LN=copeland:FN=john:CL=91:AD=thayer
LN=deangelis:FN=john:CL=91:AD=thayer
LN=demarchi:FN=john:CL=91:AD=massachusetts
LN=delgado:FN=john:CL=91:AD=pennypacker
LN=ducey:FN=john:CL=91:AD=pennypacker
LN=felitti:FN=john:CL=91:AD=holworthy
LN=goldstone:FN=john:CL=91:AD=canaday
LN=gomez:FN=john:CL=91:AD=stoughton
LN=graham:FN=john:CL=91:AD=matthews
LN=greco:FN=john:CL=91:AD=greenough
LN=hunt:FN=john:CL=91:AD=thayer
LN=jakimczyk:FN=john:CL=91:AD=weld
LN=kerkering:FN=john:CL=91:AD=thayer
LN=koenigsknecht:FN=john:CL=91:AD=grays
LN=larew:FN=john:CL=91:AD=straus
LN=marshall:FN=john:CL=91:AD=wigglesworth
LN=mccabe:FN=john:CL=91:AD=grays
LN=mee:FN=john:CL=91:AD=lionel
LN=merz:FN=john:CL=91:AD=holworthy
LN=millard:FN=john:CL=91:AD=holworthy
LN=moynihan:FN=john:CL=91:AD=massachusetts
LN=nash:FN=john:CL=91:AD=mower
LN=nowaczyk:FN=john:CL=91:AD=thayer
LN=oh:FN=john:CL=91:AD=straus
LN=palladino:FN=john:CL=91:AD=wigglesworth
LN=shovlin:FN=john:CL=91:AD=canaday
LN=shue:FN=john:CL=91:AD=holworthy
LN=sileo:FN=john:CL=91:AD=grays
LN=sohn:FN=john:CL=91:AD=hollis
LN=sparks:FN=john:CL=91:AD=matthews
LN=stein:FN=john:CL=91:AD=wigglesworth
LN=sweeney:FN=john:CL=91:AD=greenough
LN=weisbrod:FN=john:CL=91:AD=wigglesworth
LN=beber:FN=john:CL=90:AD=matthews
LN=brewington:FN=john:CL=90:AD=wigglesworth
LN=claflin:FN=john:CL=90:AD=canaday
LN=colfax:FN=john:CL=90:AD=pennypacker
LN=donaghy:FN=john:CL=90:AD=mower
LN=dowling:FN=john:CL=90:AD=#off-campus
LN=eggert:FN=john:CL=90:AD=matthews
LN=elizondo:FN=john:CL=90:AD=canaday
LN=emerson:FN=john:CL=90:AD=weld
LN=fisher:FN=john:CL=90:AD=thayer
LN=friend:FN=john:CL=90:AD=matthews
LN=grimm:FN=john:CL=90:AD=hurlbut
LN=hou:FN=john:CL=90:AD=lionel
LN=iversen:FN=john:CL=90:AD=hurlbut
LN=jacobson:FN=john:CL=90:AD=weld
LN=kennedy:FN=john:CL=90:AD=matthews
LN=kwun:FN=john:CL=90:AD=weld
LN=lee:FN=john:CL=90:AD=thayer
LN=levinson:FN=john:CL=90:AD=thayer
LN=liu:FN=john:CL=90:AD=weld
LN=macfarlane:FN=john:CL=90:AD=mower
LN=malone:FN=john:CL=90:AD=greenough
LN=meyer:FN=john:CL=90:AD=grays
LN=montoya:FN=john:CL=90:AD=wigglesworth
LN=murphy:FN=john:CL=90:AD=canaday
LN=ortega:FN=john:CL=90:AD=straus
LN=richards:FN=john:CL=90:AD=holworthy
LN=robbins:FN=john:CL=90:AD=thayer
LN=robinson:FN=john:CL=90:AD=wigglesworth
LN=rodarte:FN=john:CL=90:AD=weld
LN=santry:FN=john:CL=90:AD=pennypacker
LN=serieka:FN=john:CL=90:AD=massachusetts
LN=sheridan:FN=john:CL=90:AD=greenough
LN=smith:FN=john:CL=90:AD=grays
LN=stanley:FN=john:CL=90:AD=canaday
LN=wesson:FN=john:CL=90:AD=grays
LN=williams:FN=john:CL=90:AD=grays
LN=willoughby:FN=john:CL=90:AD=grays
LN=zedd:FN=john:CL=90:AD=canaday
LN=amory:FN=john:CL=89:AD=mower
LN=bartholomew:FN=john:CL=89:AD=canaday
LN=baughman:FN=john:CL=89:AD=straus
LN=bender:FN=john:CL=89:AD=hurlbut
LN=bible:FN=john:CL=89:AD=wigglesworth
LN=bryant:FN=john:CL=89:AD=holworthy
LN=buchanan:FN=john:CL=89:AD=matthews
LN=campanelli:FN=john:CL=89:AD=holworthy
LN=chettle:FN=john:CL=89:AD=wigglesworth
LN=danahy:FN=john:CL=89:AD=mower
LN=defigueiredo:FN=john:CL=89:AD=#off-campus
LN=dineen:FN=john:CL=89:AD=#off-campus
LN=dodge:FN=john:CL=89:AD=wigglesworth
LN=flynn:FN=john:CL=89:AD=canaday
LN=foster:FN=john:CL=89:AD=matthews
LN=garretson:FN=john:CL=89:AD=canaday
LN=griffin:FN=john:CL=89:AD=canaday
LN=herr:FN=john:CL=89:AD=canaday
LN=heymach:FN=john:CL=89:AD=hollis
LN=hodgson:FN=john:CL=89:AD=grays
LN=jacobsen:FN=john:CL=89:AD=matthews
LN=janzen:FN=john:CL=89:AD=weld
LN=kamerer:FN=john:CL=89:AD=matthews
LN=kuo:FN=john:CL=89:AD=grays
LN=larrivee:FN=john:CL=89:AD=canaday
LN=lee:FN=john:CL=89:AD=matthews
LN=mayer:FN=john:CL=89:AD=weld
LN=mills:FN=john:CL=89:AD=hurlbut
LN=montgomery:FN=john:CL=89:AD=canaday
LN=moon:FN=john:CL=89:AD=thayer
LN=nacos:FN=john:CL=89:AD=pennypacker
LN=oehmler:FN=john:CL=89:AD=matthews
LN=oja:FN=john:CL=89:AD=grays
LN=pananen:FN=john:CL=89:AD=pennypacker
LN=plotz:FN=john:CL=89:AD=canaday
LN=rabin:FN=john:CL=89:AD=canaday
LN=reece:FN=john:CL=89:AD=matthews
LN=rowe:FN=john:CL=89:AD=massachusetts
LN=rusher:FN=john:CL=89:AD=weld
LN=salera:FN=john:CL=89:AD=grays
LN=sasaki:FN=john:CL=89:AD=straus
LN=schiavone:FN=john:CL=89:AD=greenough
LN=soboeiro:FN=john:CL=89:AD=hurlbut
LN=synodinos:FN=john:CL=89:AD=matthews
LN=thompson:FN=john:CL=89:AD=pennypacker
LN=tyson:FN=john:CL=89:AD=#off-campus
LN=vincent:FN=john:CL=89:AD=wigglesworth
LN=waskom:FN=john:CL=89:AD=massachusetts
LN=yoo:FN=john:CL=89:AD=weld
LN=yoon:FN=john:CL=89:AD=matthews
Word Count = 205
ws16% ./fdb -c -v ln=Adams Fn=John -x

<?xml version = "1.0"?>
<list>
  <student id= 1> 
    <LN>alderman</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 2> 
    <LN>anderson</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>matthews</AD>
  </student>
  <student id= 3> 
    <LN>biers</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 4> 
    <LN>boit</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>matthews</AD>
  </student>
  <student id= 5> 
    <LN>carr</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 6> 
    <LN>cawley</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>thayer</AD>
  </student>
  <student id= 7> 
    <LN>chang</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 8> 
    <LN>cloud</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 9> 
    <LN>cooper</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 10> 
    <LN>devoy</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>thayer</AD>
  </student>
  <student id= 11> 
    <LN>donahue</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 12> 
    <LN>hancock</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 13> 
    <LN>kalyvas</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>matthews</AD>
  </student>
  <student id= 14> 
    <LN>karle</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 15> 
    <LN>klopf</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>matthews</AD>
  </student>
  <student id= 16> 
    <LN>kosakowski</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 17> 
    <LN>ma</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>mower</AD>
  </student>
  <student id= 18> 
    <LN>moore</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 19> 
    <LN>morton</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>hurlbut</AD>
  </student>
  <student id= 20> 
    <LN>pitzer</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>weld</AD>
  </student>
  <student id= 21> 
    <LN>pottow</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 22> 
    <LN>pruellage</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>hollis</AD>
  </student>
  <student id= 23> 
    <LN>quisel</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>lionel</AD>
  </student>
  <student id= 24> 
    <LN>roberts</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 25> 
    <LN>rossetti</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>mower</AD>
  </student>
  <student id= 26> 
    <LN>simpkins</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 27> 
    <LN>staines</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 28> 
    <LN>weinstein</LN>
    <FN>john</FN>
    <CL>93</CL>
    <AD>canaday</AD>
  </student>
  <student id= 29> 
    <LN>baker</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>thayer</AD>
  </student>
  <student id= 30> 
    <LN>bartlett</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>hurlbut</AD>
  </student>
  <student id= 31> 
    <LN>bennett</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 32> 
    <LN>bernard</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>canaday</AD>
  </student>
  <student id= 33> 
    <LN>burke</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>thayer</AD>
  </student>
  <student id= 34> 
    <LN>chung</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>matthews</AD>
  </student>
  <student id= 35> 
    <LN>connor</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>canaday</AD>
  </student>
  <student id= 36> 
    <LN>davis</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>hollis</AD>
  </student>
  <student id= 37> 
    <LN>dickson</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>lionel</AD>
  </student>
  <student id= 38> 
    <LN>digeorge</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 39> 
    <LN>dyett</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 40> 
    <LN>fenton</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>stoughton</AD>
  </student>
  <student id= 41> 
    <LN>finley</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>grays</AD>
  </student>
  <student id= 42> 
    <LN>fiske</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>straus</AD>
  </student>
  <student id= 43> 
    <LN>fitzgibbons</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>matthews</AD>
  </student>
  <student id= 44> 
    <LN>gellert</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 45> 
    <LN>golden</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>straus</AD>
  </student>
  <student id= 46> 
    <LN>guzzy</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 47> 
    <LN>haddad</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>#off-campus</AD>
  </student>
  <student id= 48> 
    <LN>hourigan</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>#off-campus</AD>
  </student>
  <student id= 49> 
    <LN>kim</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 50> 
    <LN>kirby</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 51> 
    <LN>knepper</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>straus</AD>
  </student>
  <student id= 52> 
    <LN>lausch</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>grays</AD>
  </student>
  <student id= 53> 
    <LN>lindholm</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>matthews</AD>
  </student>
  <student id= 54> 
    <LN>mallory</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 55> 
    <LN>mann</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>canaday</AD>
  </student>
  <student id= 56> 
    <LN>mateyak</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>stoughton</AD>
  </student>
  <student id= 57> 
    <LN>mcdermott</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>massachusetts</AD>
  </student>
  <student id= 58> 
    <LN>meats</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>matthews</AD>
  </student>
  <student id= 59> 
    <LN>middleton</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>canaday</AD>
  </student>
  <student id= 60> 
    <LN>milbauer</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 61> 
    <LN>niles</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>matthews</AD>
  </student>
  <student id= 62> 
    <LN>noonan</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>#off-campus</AD>
  </student>
  <student id= 63> 
    <LN>oakes</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>thayer</AD>
  </student>
  <student id= 64> 
    <LN>petricola</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>canaday</AD>
  </student>
  <student id= 65> 
    <LN>pulvino</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>stoughton</AD>
  </student>
  <student id= 66> 
    <LN>robertson</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 67> 
    <LN>rosenberger</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>greenough</AD>
  </student>
  <student id= 68> 
    <LN>rubin</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>canaday</AD>
  </student>
  <student id= 69> 
    <LN>schoeffel</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>stoughton</AD>
  </student>
  <student id= 70> 
    <LN>shutt</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 71> 
    <LN>suh</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>massachusetts</AD>
  </student>
  <student id= 72> 
    <LN>symington</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>matthews</AD>
  </student>
  <student id= 73> 
    <LN>tolmie</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 74> 
    <LN>woo</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>weld</AD>
  </student>
  <student id= 75> 
    <LN>santry</LN>
    <FN>john</FN>
    <CL>92</CL>
    <AD>mather</AD>
  </student>
  <student id= 76> 
    <LN>altman</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>canaday</AD>
  </student>
  <student id= 77> 
    <LN>barker</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>grays</AD>
  </student>
  <student id= 78> 
    <LN>barry</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>greenough</AD>
  </student>
  <student id= 79> 
    <LN>borozan</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>canaday</AD>
  </student>
  <student id= 80> 
    <LN>boyer</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>matthews</AD>
  </student>
  <student id= 81> 
    <LN>brzezenski</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>matthews</AD>
  </student>
  <student id= 82> 
    <LN>buten</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>greenough</AD>
  </student>
  <student id= 83> 
    <LN>byrd</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>canaday</AD>
  </student>
  <student id= 84> 
    <LN>copeland</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>thayer</AD>
  </student>
  <student id= 85> 
    <LN>deangelis</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>thayer</AD>
  </student>
  <student id= 86> 
    <LN>demarchi</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>massachusetts</AD>
  </student>
  <student id= 87> 
    <LN>delgado</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 88> 
    <LN>ducey</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 89> 
    <LN>felitti</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 90> 
    <LN>goldstone</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>canaday</AD>
  </student>
  <student id= 91> 
    <LN>gomez</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>stoughton</AD>
  </student>
  <student id= 92> 
    <LN>graham</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>matthews</AD>
  </student>
  <student id= 93> 
    <LN>greco</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>greenough</AD>
  </student>
  <student id= 94> 
    <LN>hunt</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>thayer</AD>
  </student>
  <student id= 95> 
    <LN>jakimczyk</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>weld</AD>
  </student>
  <student id= 96> 
    <LN>kerkering</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>thayer</AD>
  </student>
  <student id= 97> 
    <LN>koenigsknecht</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>grays</AD>
  </student>
  <student id= 98> 
    <LN>larew</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>straus</AD>
  </student>
  <student id= 99> 
    <LN>marshall</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 100> 
    <LN>mccabe</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>grays</AD>
  </student>
  <student id= 101> 
    <LN>mee</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>lionel</AD>
  </student>
  <student id= 102> 
    <LN>merz</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 103> 
    <LN>millard</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 104> 
    <LN>moynihan</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>massachusetts</AD>
  </student>
  <student id= 105> 
    <LN>nash</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>mower</AD>
  </student>
  <student id= 106> 
    <LN>nowaczyk</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>thayer</AD>
  </student>
  <student id= 107> 
    <LN>oh</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>straus</AD>
  </student>
  <student id= 108> 
    <LN>palladino</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 109> 
    <LN>shovlin</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>canaday</AD>
  </student>
  <student id= 110> 
    <LN>shue</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 111> 
    <LN>sileo</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>grays</AD>
  </student>
  <student id= 112> 
    <LN>sohn</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>hollis</AD>
  </student>
  <student id= 113> 
    <LN>sparks</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>matthews</AD>
  </student>
  <student id= 114> 
    <LN>stein</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 115> 
    <LN>sweeney</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>greenough</AD>
  </student>
  <student id= 116> 
    <LN>weisbrod</LN>
    <FN>john</FN>
    <CL>91</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 117> 
    <LN>beber</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>matthews</AD>
  </student>
  <student id= 118> 
    <LN>brewington</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 119> 
    <LN>claflin</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>canaday</AD>
  </student>
  <student id= 120> 
    <LN>colfax</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 121> 
    <LN>donaghy</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>mower</AD>
  </student>
  <student id= 122> 
    <LN>dowling</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>#off-campus</AD>
  </student>
  <student id= 123> 
    <LN>eggert</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>matthews</AD>
  </student>
  <student id= 124> 
    <LN>elizondo</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>canaday</AD>
  </student>
  <student id= 125> 
    <LN>emerson</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>weld</AD>
  </student>
  <student id= 126> 
    <LN>fisher</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>thayer</AD>
  </student>
  <student id= 127> 
    <LN>friend</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>matthews</AD>
  </student>
  <student id= 128> 
    <LN>grimm</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>hurlbut</AD>
  </student>
  <student id= 129> 
    <LN>hou</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>lionel</AD>
  </student>
  <student id= 130> 
    <LN>iversen</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>hurlbut</AD>
  </student>
  <student id= 131> 
    <LN>jacobson</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>weld</AD>
  </student>
  <student id= 132> 
    <LN>kennedy</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>matthews</AD>
  </student>
  <student id= 133> 
    <LN>kwun</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>weld</AD>
  </student>
  <student id= 134> 
    <LN>lee</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>thayer</AD>
  </student>
  <student id= 135> 
    <LN>levinson</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>thayer</AD>
  </student>
  <student id= 136> 
    <LN>liu</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>weld</AD>
  </student>
  <student id= 137> 
    <LN>macfarlane</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>mower</AD>
  </student>
  <student id= 138> 
    <LN>malone</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>greenough</AD>
  </student>
  <student id= 139> 
    <LN>meyer</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>grays</AD>
  </student>
  <student id= 140> 
    <LN>montoya</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 141> 
    <LN>murphy</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>canaday</AD>
  </student>
  <student id= 142> 
    <LN>ortega</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>straus</AD>
  </student>
  <student id= 143> 
    <LN>richards</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 144> 
    <LN>robbins</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>thayer</AD>
  </student>
  <student id= 145> 
    <LN>robinson</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 146> 
    <LN>rodarte</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>weld</AD>
  </student>
  <student id= 147> 
    <LN>santry</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 148> 
    <LN>serieka</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>massachusetts</AD>
  </student>
  <student id= 149> 
    <LN>sheridan</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>greenough</AD>
  </student>
  <student id= 150> 
    <LN>smith</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>grays</AD>
  </student>
  <student id= 151> 
    <LN>stanley</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>canaday</AD>
  </student>
  <student id= 152> 
    <LN>wesson</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>grays</AD>
  </student>
  <student id= 153> 
    <LN>williams</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>grays</AD>
  </student>
  <student id= 154> 
    <LN>willoughby</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>grays</AD>
  </student>
  <student id= 155> 
    <LN>zedd</LN>
    <FN>john</FN>
    <CL>90</CL>
    <AD>canaday</AD>
  </student>
  <student id= 156> 
    <LN>amory</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>mower</AD>
  </student>
  <student id= 157> 
    <LN>bartholomew</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 158> 
    <LN>baughman</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>straus</AD>
  </student>
  <student id= 159> 
    <LN>bender</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>hurlbut</AD>
  </student>
  <student id= 160> 
    <LN>bible</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 161> 
    <LN>bryant</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 162> 
    <LN>buchanan</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 163> 
    <LN>campanelli</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>holworthy</AD>
  </student>
  <student id= 164> 
    <LN>chettle</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 165> 
    <LN>danahy</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>mower</AD>
  </student>
  <student id= 166> 
    <LN>defigueiredo</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>#off-campus</AD>
  </student>
  <student id= 167> 
    <LN>dineen</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>#off-campus</AD>
  </student>
  <student id= 168> 
    <LN>dodge</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 169> 
    <LN>flynn</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 170> 
    <LN>foster</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 171> 
    <LN>garretson</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 172> 
    <LN>griffin</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 173> 
    <LN>herr</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 174> 
    <LN>heymach</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>hollis</AD>
  </student>
  <student id= 175> 
    <LN>hodgson</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>grays</AD>
  </student>
  <student id= 176> 
    <LN>jacobsen</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 177> 
    <LN>janzen</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>weld</AD>
  </student>
  <student id= 178> 
    <LN>kamerer</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 179> 
    <LN>kuo</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>grays</AD>
  </student>
  <student id= 180> 
    <LN>larrivee</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 181> 
    <LN>lee</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 182> 
    <LN>mayer</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>weld</AD>
  </student>
  <student id= 183> 
    <LN>mills</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>hurlbut</AD>
  </student>
  <student id= 184> 
    <LN>montgomery</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 185> 
    <LN>moon</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>thayer</AD>
  </student>
  <student id= 186> 
    <LN>nacos</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 187> 
    <LN>oehmler</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 188> 
    <LN>oja</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>grays</AD>
  </student>
  <student id= 189> 
    <LN>pananen</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 190> 
    <LN>plotz</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 191> 
    <LN>rabin</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>canaday</AD>
  </student>
  <student id= 192> 
    <LN>reece</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 193> 
    <LN>rowe</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>massachusetts</AD>
  </student>
  <student id= 194> 
    <LN>rusher</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>weld</AD>
  </student>
  <student id= 195> 
    <LN>salera</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>grays</AD>
  </student>
  <student id= 196> 
    <LN>sasaki</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>straus</AD>
  </student>
  <student id= 197> 
    <LN>schiavone</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>greenough</AD>
  </student>
  <student id= 198> 
    <LN>soboeiro</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>hurlbut</AD>
  </student>
  <student id= 199> 
    <LN>synodinos</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
  <student id= 200> 
    <LN>thompson</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>pennypacker</AD>
  </student>
  <student id= 201> 
    <LN>tyson</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>#off-campus</AD>
  </student>
  <student id= 202> 
    <LN>vincent</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>wigglesworth</AD>
  </student>
  <student id= 203> 
    <LN>waskom</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>massachusetts</AD>
  </student>
  <student id= 204> 
    <LN>yoo</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>weld</AD>
  </student>
  <student id= 205> 
    <LN>yoon</LN>
    <FN>john</FN>
    <CL>89</CL>
    <AD>matthews</AD>
  </student>
</list>
Word Count = 205
ws16% ./fdb -c -v ln=Adams Fn=John -x[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[Kfn=mary

LN=alldritt:FN=mary:CL=93:AD=straus
LN=kelly:FN=mary:CL=93:AD=holworthy
LN=kroupa:FN=mary:CL=93:AD=wigglesworth
LN=ledwell:FN=mary:CL=93:AD=lionel
LN=mitchell:FN=mary:CL=93:AD=greenough
LN=nazzaro:FN=mary:CL=93:AD=straus
LN=teichert:FN=mary:CL=93:AD=straus
LN=carter:FN=mary:CL=92:AD=weld
LN=dibbern:FN=mary:CL=92:AD=#loa
LN=ganssle:FN=mary:CL=92:AD=#off-campus
LN=greenhill:FN=mary:CL=92:AD=thayer
LN=jurek:FN=mary:CL=92:AD=canaday
LN=mcadam:FN=mary:CL=92:AD=matthews
LN=schwartzburg:FN=mary:CL=92:AD=#off-campus
LN=sisson:FN=mary:CL=92:AD=matthews
LN=voss:FN=mary:CL=92:AD=#off-campus
LN=yoo:FN=mary:CL=92:AD=stoughton
LN=carson:FN=mary:CL=91:AD=matthews
LN=hallward:FN=mary:CL=91:AD=#off-campus
LN=moon:FN=mary:CL=91:AD=hurlbut
LN=morsink:FN=mary:CL=91:AD=grays
LN=neale:FN=mary:CL=91:AD=canaday
LN=rieffel:FN=mary:CL=91:AD=hurlbut
LN=ruppe:FN=mary:CL=91:AD=canaday
LN=bayne:FN=mary:CL=90:AD=grays
LN=bingham:FN=mary:CL=90:AD=thayer
LN=cist:FN=mary:CL=90:AD=canaday
LN=ferguson:FN=mary:CL=90:AD=grays
LN=frongillo:FN=mary:CL=90:AD=hurlbut
LN=quinn:FN=mary:CL=90:AD=greenough
LN=velasquez:FN=mary:CL=90:AD=holworthy
LN=wyman:FN=mary:CL=90:AD=matthews
LN=lanzerotti:FN=mary:CL=89:AD=thayer
LN=layfield:FN=mary:CL=89:AD=pennypacker
LN=mccagg:FN=mary:CL=89:AD=wigglesworth
LN=reaney:FN=mary:CL=89:AD=greenough
LN=reyes:FN=mary:CL=89:AD=greenough
LN=ronayne:FN=mary:CL=89:AD=stoughton
LN=rossano:FN=mary:CL=89:AD=grays
ws16% ./fdb fn=mary-jo

ws16% cat myrm

#!/bin/sh
#
#       myrm    - creates a trashroom
#
#         usage: myrm [ options ]
#
#       description: 
#               creates a directory called trashroom where files to be deleted
#               are kept until myrm gets a -t operator
#


# -----------------------------------------------------------------
# 0: Functions
# -----------------------------------------------------------------

emptyTrash()
{
    #
    #  delete all files in trashroom
    #
    
    for ITEM in $TRASHLIST ; do
        rm $TRASH/$ITEM                     # delete item
    done
}


pickTroughTrash()
{
    #
    #  pick trough files in trashroom
    #
    
    for ITEM in $TRASHLIST ; do
        echo "file: $ITEM   (t)hrow out or (r)ecover?"
        read VAR
 
        if   [ $VAR = t ] ||
             [ $VAR = T ] ; then
            rm $TRASH/$ITEM                 # delete item
        elif [ $VAR = r ] ||
             [ $VAR = R ] ; then
            recover $ITEM                   # recover
        fi  
    done
}


doFile()
{
    #
    #  check for, recover or move file
    #

    if [ $RETRIEVE = TRUE ] ; then
        recover $1
    else
        movetoTrash $1
    fi
}


movetoTrash()
{
    #
    #  move file to trash
    #
    
    MOVEFILE=FALSE
    
    if [ -e $1 ] ; then                     # check for file
        
        MOVEFILE=TRUE                       # yes, found file

        if [ -e $TRASH/$1 ] ; then          # check for file in trash
        
            echo "There already is a file called $1 in the trash"
            echo "O.K. to replace it?"
            read VAR
            if [ $VAR = y   ] || 
               [ $VAR = Y   ] ; then
                :                           # yes, replace
            else
                MOVEFILE=FALSE              # no, don't replace
            fi
        fi
        
    else
        echo "Could not find file: $1"
    fi
    
    if [ $MOVEFILE = TRUE ] ; then
        cp $1 $TRASH                        # copy file to trash
        rm $1                               # delete file
    fi
}


recover()
{
    #
    #  move file from trash
    #
    
    MOVEFILE=FALSE
    
    if [ -e $TRASH/$1 ] ; then              # check for file in trash
        
        MOVEFILE=TRUE                       # yes, found file

        if [ -e $1 ] ; then                 # check for file in folder
        
            echo "There already is a file called $1 in this folder"
            echo "O.K. to replace it?"
            read VAR
            if [ $VAR = y   ] || 
               [ $VAR = Y   ] ; then
                :                           # yes, replace
            else
                MOVEFILE=FALSE              # no, don't replace
            fi
        fi

    else
        echo "Could not find file: $1 in trash"
    fi

    if [ $MOVEFILE = TRUE ] ; then
        cp $TRASH/$1 .                      # copy file to folder
        rm $TRASH/$1                        # delete file in trash
    fi
}


# -----------------------------------------------------------------
# 1: Initialize globals
# -----------------------------------------------------------------

    RETRIEVE=FALSE                          # retrieve off
    TRASH=$HOME/trashroom                   # path of trashroom
    TRASHLIST=`ls $TRASH`                   # list of trash items
    
# -----------------------------------------------------------------
# 2: Test for and create trash room
# -----------------------------------------------------------------
    
    if [ -e $TRASH ] ; then
        :                                   # trashroom exists
    else
        mkdir $TRASH                        # create trashroom
    fi
    

# -----------------------------------------------------------------
# 3: Loop through arguments list
# -----------------------------------------------------------------
    
    while [ $# -gt 0 ] ; do                             # while argc>0
    
                case $1 in
                        -t)      emptyTrash       ;;        # empty trash
                        -l)      ls $TRASH        ;;        # list trash
            -L)  ls -l $TRASH     ;;        # list trash long
            -p)  pickTroughTrash  ;;        # pick through trash
            -g)  RETRIEVE=TRUE    ;;        # retrieve on
                        *)       doFile $1        ;;        # deal with file
                esac

                shift                                           # next arg
    done
ws16% touch a b c d

ws16% touch a b c d[13Dcat myrm[K[K[K[K[K[K[K[K./myrm a b c d

ws16% ./myu[Krm -l

a    b    bar  c    d
ws16% ./myrm -l[KL

total 0
-rw-------   1 lowke    extdeg          0 Dec 21 17:37 a
-rw-------   1 lowke    extdeg          0 Dec 21 17:37 b
-rw-------   1 lowke    extdeg          0 Dec 21 17:22 bar
-rw-------   1 lowke    extdeg          0 Dec 21 17:37 c
-rw-------   1 lowke    extdeg          0 Dec 21 17:37 d
ws16% ./myrm -L[Kp

file: a   (t)hrow out or (r)ecover?
t
file: b   (t)hrow out or (r)ecover?
t
file: bar   (t)hrow out or (r)ecover?
r
file: c   (t)hrow out or (r)ecover?
t
file: d   (t)hrow out or (r)ecover?
t
ws16% ls

README         fl.c           myrm           process.o      typescript
bar            fl.h           myrm.b         sample.dat     wordstore13.c
fdb            fl.o           mytoys         sample.fmt     wordstore13.o
fdb.b          freshmen       name2num       supercal       ws13.h
fl             makefile       process.c      supercal.b
ws16% ./myrm -l

ws16% ./myrm -l[K[Ktest

Could not find file: test
ws16% ./myrm test[K[K[K[Kbar

ws16% ./myrm bar[K[K[K-l

bar
ws16% ./myrm -l[Kt

ws16% ./myrm -t[Kl

ws16% touch a b

ws16% touch a b[K[K[K[K[K[K[K./myrm a b

ws16% touch a b

ws16% ./myrm a b

There already is a file called a in the trash
O.K. to replace it?
y
There already is a file called b in the trash
O.K. to replace it?
y
ws16% ./myrm -l

a  b
ws16% ./myrm -g ab b[K[K b c

Could not find file: c in trash
ws16% ./myrm -l

ws16% ./myrm -l[K[Ka b

ws16% ./myrm a b[K[K-t

ws16% touch foo bar

ws16% ./myrm foo bar -l -g foo

bar  foo
ws16% ./myrm -l

bar
ws16% ls

README         fl.h           myrm           process.o      typescript
fdb            fl.o           myrm.b         sample.dat     wordstore13.c
fdb.b          foo            mytoys         sample.fmt     wordstore13.o
fl             freshmen       name2num       supercal       ws13.h
fl.c           makefile       process.c      supercal.b
ws16% exit

exit

script done on Fri Dec 21 17:41:12 2001
