Usage - Description - Example
- Options - Limitations
- Return codes
tuniq [log logfile] [options] [from infile] [to outfile] expr [...]
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.
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
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. |
tuniq has the same limitations as tcols.
tuniq runs out of memory when infile, or the expressions evaluated thereof, are too large.
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 |