Go to the first, previous, next, last section, table of contents.


Operating on fields within a line

cut: Print selected parts of lines

cut writes to standard output selected parts of each line of each input file, or standard input if no files are given or for a file name of `-'. Synopsis:

cut [option]... [file]...

In the table which follows, the byte-list, character-list, and field-list are one or more numbers or ranges (two numbers separated by a dash) separated by commas. Bytes, characters, and fields are numbered from starting at 1. Incomplete ranges may be given: `-m' means `1-m'; `n-' means `n' through end of line or last field.

The program accepts the following options. Also see section Common options.

`-b byte-list'
`--bytes=byte-list'
Print only the bytes in positions listed in byte-list. Tabs and backspaces are treated like any other character; they take up 1 byte.
`-c character-list'
`--characters=character-list'
Print only characters in positions listed in character-list. The same as `-b' for now, but internationalization will change that. Tabs and backspaces are treated like any other character; they take up 1 character.
`-f field-list'
`--fields=field-list'
Print only the fields listed in field-list. Fields are separated by a TAB by default.
`-d delim'
`--delimiter=delim'
For `-f', fields are separated by the first character in delim (default is TAB).
`-n'
Do not split multi-byte characters (no-op for now).
`-s'
`--only-delimited'
For `-f', do not print lines that do not contain the field separator character.

paste: Merge lines of files

paste writes to standard output lines consisting of sequentially corresponding lines of each given file, separated by TAB. Standard input is used for a file name of `-' or if no input files are given.

Synopsis:

paste [option]... [file]...

The program accepts the following options. Also see section Common options.

`-s'
`--serial'
Paste the lines of one file at a time rather than one line from each file.
`-d delim-list'
`--delimiters delim-list'
Consecutively use the characters in delim-list instead of TAB to separate merged lines. When delim-list is exhausted, start again at its beginning.

join: Join lines on a common field

join writes to standard output a line for each pair of input lines that have identical join fields. Synopsis:

join [option]... file1 file2

Either file1 or file2 (but not both) can be `-', meaning standard input. file1 and file2 should be already sorted in increasing order (not numerically) on the join fields; unless the `-t' option is given, they should be sorted ignoring blanks at the start of the join field, as in sort -b. If the `--ignore-case' option is given, lines should be sorted without regard to the case of characters in the join field, as in sort -f.

The defaults are: the join field is the first field in each line; fields in the input are separated by one or more blanks, with leading blanks on the line ignored; fields in the output are separated by a space; each output line consists of the join field, the remaining fields from file1, then the remaining fields from file2.

The program accepts the following options. Also see section Common options.

`-a file-number'
Print a line for each unpairable line in file file-number (either `1' or `2'), in addition to the normal output.
`-e string'
Replace those output fields that are missing in the input with string.
`-i'
`--ignore-case'
Ignore differences in case when comparing keys. With this option, the lines of the input files must be ordered in the same way. Use `sort -f' to produce this ordering.
`-1 field'
`-j1 field'
Join on field field (a positive integer) of file 1.
`-2 field'
`-j2 field'
Join on field field (a positive integer) of file 2.
`-j field'
Equivalent to `-1 field -2 field'.
`-o field-list...'
Construct each output line according to the format in field-list. Each element in field-list is either the single character `0' or has the form m.n where the file number, m, is `1' or `2' and n is a positive field number. A field specification of `0' denotes the join field. In most cases, the functionality of the `0' field spec may be reproduced using the explicit m.n that corresponds to the join field. However, when printing unpairable lines (using either of the `-a' or `-v' options), there is no way to specify the join field using m.n in field-list if there are unpairable lines in both files. To give join that functionality, POSIX invented the `0' field specification notation. The elements in field-list are separated by commas or blanks. Multiple field-list arguments can be given after a single `-o' option; the values of all lists given with `-o' are concatenated together. All output lines -- including those printed because of any -a or -v option -- are subject to the specified field-list.
`-t char'
Use character char as the input and output field separator.
`-v file-number'
Print a line for each unpairable line in file file-number (either `1' or `2'), instead of the normal output.

In addition, when GNU join is invoked with exactly one argument, options `--help' and `--version' are recognized. See section Common options.


Go to the first, previous, next, last section, table of contents.