Linux: cut – divide file into columns.
cut
Divide a file into several parts (columns)
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 `-’.
Syntax
cut [OPTION]... [FILE]...
In the options below, BYTE-LIST, CHARACTER-LIST, and FIELD-LIST are one or more numbers or ranges (two numbers separated by a dash)
Bytes, characters, and fields are are numbered starting at 1 and separated by commas.
Incomplete ranges may be given: -M means 1-M ; N- means N through end of line or last field.
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 character by default.
-d INPUT_DELIM_BYTE
--delimiter=INPUT_DELIM_BYTE
For `-f', fields are separated in the input by the first character
in INPUT_DELIM_BYTE (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.
--output-delimiter=OUTPUT_DELIM_STRING
For `-f', output fields are separated by OUTPUT_DELIM_STRING The
default is to use the input delimiter.
Example
Parse out column 2 from a semicolon (;) delimited file:
$ cat myfile.txt | cut -d \; -f 2 > output.txt
