# TUNIQ v1.50 - print lines that evaluate uniquely

#### Revised 18-Aug-97. Copyright (c) 1996-97 by Rune Berg. TextTools Freeware.

Usage - Description - Example - Options - Limitations - Return codes

### USAGE

tuniq [log logfile] [options] [from infile] [to outfile] expr [...]

### DESCRIPTION

tuniq prints, to outfile, the lines in infile that evaluate uniquely on the given expression(s).

Expressions are as for tcols.

infile must be an ASCII text file. tuniq sees each input line as a row of (by default) whitespace-separated fields; see tcols for more info.

tuniq ignores empty (whitespace only) input lines.

The output lines are identical to the input lines.

If you don't specify infile, tuniq reads from standard input.
If you don't specify outfile, tuniq writes to standard output.
If you don't specify logfile, tuniq writes error messages to standard error.

### EXAMPLE

Consider the file "records.txt":

            Band             "The Band"            1969 LP
            "Violent Femmes" "Violent Femmes"      1983 LP
            "Violent Femmes" "Violent Femmes"      1983 CD
            Beatles          Revolver              1966 CD
            Beatles          "Rubber Soul"         1965 CD
            "Waits, Tom"     Swordfishtrombones    1983 CD
            Band             "Music From Big Pink" 1968 LP
            "Waits, Tom"     Swordfishtrombones    1983 LP

The command:

            tuniq from records.txt $1 $2 $3

prints the record list without CD/LP duplicates:

            Band             "The Band"            1969 LP
            "Violent Femmes" "Violent Femmes"      1983 LP
            Beatles          Revolver              1966 CD
            Beatles          "Rubber Soul"         1965 CD
            "Waits, Tom"     Swordfishtrombones    1983 CD
            Band             "Music From Big Pink" 1968 LP

### OPTIONS

tuniq recognizes the following command line options:

Option | Function
--- | ---
-iC | Separate input fields by character C (except \). Use \t to form a tab.
-he | Print summary of expression usage to standard output, then exit.
-hf | Print summary of all functions to standard output, then exit.
-hf name | Print summary of named function to standard output, then exit.
-v | Print banner with version number to standard error (or logfile, if used), then exit.

### LIMITATIONS

tuniq has the same limitations as tcols.

tuniq runs out of memory when infile, or the expressions evaluated thereof, are too large.

### RETURN CODES

tuniq returns with one of the following codes ("error levels"):

Code | Meaning
--- | ---
0 | Success
101 | Out of memory
102 | Incorrect command line arguments
104 | Error opening file
105 | I/O error
106 | Capacity overrun
107 | File name clash
109 | Bad input data

##### End of document