The DCS grading programs — command-line programs

If you're unsure what a "command-line program" is, please refer to the last section of this page, What's a command-line program?.

Common options

Some options are shared by all or most of the command-line programs.

-?
Displays abbreviated information on the program, listing essentially just the available options and arguments accepted or required.

This option is not mentioned in the descriptions of the individual programs, because all programs accept it and it would always have the same explanation.

-9
If the program modifies its file arguments, the -9 option tells it to use old-style nine-digit student numbers on output. If that would cause significant digits to be lost, the program gives an error message and does not produce a modified file.

Not all programs do modify their file arguments. For example, gpr prints its arguments in a more readable form, leaving the original file unchanged. Such programs do not accept a -9 option.

Selection options
These allow the effects of a program to be applied only to a subset of the student records in a grades file. The selection options are standard and are described in their own web page, linked from each relevant program's description.
Sorting options
These allow the effects of a program to be applied to student records in an order other than the order of their appearance in a grades file, without necessarily changing the order of the contents of the file. The sorting options, like the selection options, are standard and are described in their own web page, linked from each relevant program's description.

The programs

Here is a list of the command-line programs. Each is linked to its own descriptive page, which are also linked from the navigation bar. They are in the style of Unix man pages, but are less tersely technical — or rather, the technicalities are about marks rather than Unix.

What's a command-line program?

The "command-line programs" all expect to be used in a Unix-like command-line environment. In this environment, you log in to a "terminal", and you and the computer (really, the "shell" program) exchange messages. First, the computer types its "prompt", sometimes just a single character such as '$' but often more complicated. Then you type one line of response, ending your input by pressing the return or enter key. It's possible to give quite a long explanation of what's going on, but really, you can find out the basics by having someone show you once. Honest!

Here's an example in which you get the (imaginary) command-line program gwhiz to do its work by typing something like this after the '$' prompt:

$ gwhiz -r -9 -p 5 gradesfile1 gradesfile2

Here "gwhiz" of course is the name of the program, and the rest of the line consists of a list of command-line "arguments". There are two kinds of these arguments.

Compact syntax specifications

If you make a mistake with gwhiz, or (since it's a grading program) call it with the -? option, it will tell you how to call it, something like this cryptic message:

Usage: gwhiz [-?] [-9] [-r] [-p pdata] [-t] files

The square brackets mean the item enclosed is optional. Clearly, our example did in fact specify all the options except -t, and for the -p option it gave "pdata" a value of 5. Since "files" is not enclosed in brackets, you are required to list the file operands; in this case, it's not clear how many are required, so one should be enough.

If you get a "usage" message when you weren't expecting it, the program is telling you that you made a mistake.