The cut filter is used to select parts of lines. The format for cut is:
cut options
where the most common options are:
-c n-m -- show only characters n through m
-f x -- show only field x
-d "char" --
instead of delimiting fields with a tab, use character char
Here are some examples of cut. Suppose we want a list of all commands that deal with copying stuff. "man -k copy" will give us such a list. But, the output of that command also includes a description. (Note that I used the head filter to show just the first 10 lines so the example is not too long.)
> man -k copy | head acl_copy_entry (3) - copy an ACL entry acl_copy_ext (3) - copy an ACL from internal to external representation acl_copy_int (3) - copy an ACL from external to internal representation asn1_copy_node (3) - API function AuSoundCreateDataFromBucket (3nas) - copy the data from a bucket into local m... AuSoundCreateFileFromBucket (3nas) - copy the data from a bucket into a file. bcopy (3) - copy byte sequence bf_copy (1) - shell script to copy a bogofilter working directory BIO_ssl_copy_session_id (3ssl) - SSL BIO BN_copy (3ssl) - copy BIGNUMs |
So, we can use the cut command to show just part of the line. Here are two examples of using cut. The left example shows columns 1 through 23. The right example is better. It shows only the first field, which is all characters up to the space delimiter.
> man -k copy | cut -c 1-23 | head acl_copy_entry (3) - acl_copy_ext (3) - acl_copy_int (3) - asn1_copy_node (3) - AuSoundCreateDataFromBu AuSoundCreateFileFromBu bcopy (3) - bf_copy (1) - BIO_ssl_copy_session_id BN_copy (3ssl) - |
The format for colrm is:
colrm start stop
where start and stop are the column numbers to start and stop removal.
Again using the man example:
> man -k copy | colrm 1 23 | head copy an ACL entry copy an ACL from internal to external representation copy an ACL from external to internal representation API function cket (3nas) - copy the data from a bucket into local m... cket (3nas) - copy the data from a bucket into a file. copy byte sequence shell script to copy a bogofilter working directory (3ssl) - SSL BIO copy BIGNUMs |
So, "colrm 1 23" gives us the opposite of "cut -c 1-23".
Turn in a printout of your script source code by the beginning of the next lab period.
As an example, if the user provides the -names option, your output should be similar to:
****************************** CSCI 2 Dickson, Anthony James Downs, Christopher Paul ****************************** CIFS 1 Anderson, Ian ****************************** ACCT 23 Alexander, Amy Elizabeth Ayers, Brittany Nicole Brown, Lyeshea Semondre S Calloway, Logan Mackenzie Childers, Jamie Leigh Flick, Heather Wrenee Foster, Rodney Tyrone Gallman, Antonio James Jackson, Miesha Dekezia Killebrew, Douglas Dennis Massey, Barbara LaTasha Nguyen, Julie Yen Patel, Hardik Rajendrakum Patterson, Natalie Michel Raley-Ramos, Chelsea Robinson, Megan Elizabeth yadda yadda yadda