COP4342 - Fall 2013 Assignment 5 Plotting a Field from a Simple Database Objectives: Learn how to use the cut, head, tail, sed, and gnuplot Unix utilities and more extensive use of the features of the awk utility. Instructions: Your assignment is write to a shell script called pf.sh that plots a field from a simple text database. It accepts as arguments a database_name and a field_name. You should check if the database_name represents a valid database and if the field_name is one of the names of the fields defined in the schema for the specified database. If not, then you should print an error message and exit. You should extract the values of the specified field, sort the values in ascending order, store each unique value along with the number of times it appears in list, and plot the values. Use the /home/faculty/whalley/cop4342exec/plot.p file as input to gnuplot to plot the values of the field. However, you will have to substitute the appropriate values for LOWX (smallest field value), HIGHX (largest field value), HIGHY (greatest number of occurrences of a single value), and FILE (the name of the file containing the list of field values and their number of occur rences). After generating the plot in graph.ps, you should convert this file to pdf and display it using acroread for the user. The user can choose to print the file from acroread if he/she selects to do so. After the user exits from acroread, you should remove any temporary files created and exit the script. For instance, below is an example invocation of the pf.sh script. % pf.sh cop4342 exam2 Assume for this example that cop4342 is a valid database name (i.e. it is in the databases.txt file), it has a schema called grades (i.e. defined in the databases.txt file), grades has fields called name, exam1, exam2, and exam3 (i.e. defined in the schemas.txt file), and that a file exists called cop4342.db and it contains the following data: Smith 84 72 93 Jones 85 73 94 Ford 92 64 93 Miller 93 73 87 Green 72 72 72 White 92 72 86 Johnson 90 85 80 Douglas 90 60 70 Lewis 80 64 70 Brown 92 70 93 Daniels 85 80 80 Your shell script should produce a plot of the data that would appear as: -1 While you are allowed to invoke other shell scripts that you have written and predefined Unix utilities, you are not allowed to invoke other executables. If you need to store information into temporary fi les, then be sure to delete these temporary fi les before you exit your script. Submission: Submit the pf.sh shell script and any other shell scripts that you used in this assignment as separate attachments in a single e-mail message to jayarama@cs.fsu.edu via e-mail before the beginning of class on 10/3/13. -2