File: coreutils.info, Node: cut invocation, Next: paste invocation, Up: Operating on fields 8.1 `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 starting at 1. Incomplete ranges may be given: `-M' means `1-M'; `N-' means `N' through end of line or last field. The list elements can be repeated, can overlap, and can be specified in any order; but the selected input is written in the same order that it is read, and is written exactly once. The program accepts the following options. Also see *note Common options::. `-b BYTE-LIST' `--bytes=BYTE-LIST' Select for printing only the bytes in positions listed in BYTE-LIST. Tabs and backspaces are treated like any other character; they take up 1 byte. If an output delimiter is specified, (see the description of `--output-delimiter'), then output that string between ranges of selected bytes. `-c CHARACTER-LIST' `--characters=CHARACTER-LIST' Select for printing only the 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. If an output delimiter is specified, (see the description of `--output-delimiter'), then output that string between ranges of selected bytes. `-f FIELD-LIST' `--fields=FIELD-LIST' Select for printing only the fields listed in FIELD-LIST. Fields are separated by a TAB character by default. Also print any line that contains no delimiter character, unless the `--only-delimited' (`-s') option is specified `-d INPUT_DELIM_BYTE' `--delimiter=INPUT_DELIM_BYTE' With `-f', use the first byte of INPUT_DELIM_BYTE as the input fields separator (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. Normally, any line without a field separator is printed verbatim. `--output-delimiter=OUTPUT_DELIM_STRING' With `-f', output fields are separated by OUTPUT_DELIM_STRING. The default with `-f' is to use the input delimiter. When using `-b' or `-c' to select ranges of byte or character offsets (as opposed to ranges of fields), output OUTPUT_DELIM_STRING between non-overlapping ranges of selected bytes. `--complement' This option is a GNU extension. Select for printing the complement of the bytes, characters or fields selected with the `-b', `-c' or `-f' options. In other words, do _not_ print the bytes, characters or fields specified via those options. This option is useful when you have many fields and want to print all but a few of them. An exit status of zero indicates success, and a nonzero value indicates failure.