Skip to main content

Command Palette

Search for a command to run...

Cheatsheet & Examples: cut

Updated
3 min read
H

I am a developer from Malaysia. I work with PHP most of the time, recently I fell in love with Go. When I am not working, I will be ballroom dancing :-)

The cut command is used to extract specific parts of a file, such as columns, bytes, or characters, based on provided criteria.

Extract specific fields by default delimiter (tab)

Example Usage: cut -f1,3 file.txt

What it does: Extracts the first and third fields (columns) from each line of file.txt, using tab as the delimiter.

Command-line Arguments Explained:

  • -f1,3: Specifies the fields to extract (1st and 3rd) separated by commas.
  • file.txt: The input file from which to extract the fields.

Extract specific fields by custom delimiter

Example Usage: cut -d: -f2 file.txt

What it does: Extracts the second field from each line of file.txt, using a colon (:) as the delimiter.

Command-line Arguments Explained:

  • -d:: Sets the delimiter to a colon (:) instead of the default tab.
  • -f2: Specifies the field (second) to extract.
  • file.txt: The input file.

Extract specific bytes

Example Usage: cut -b3-5 file.txt

What it does: Extracts bytes from positions 3 to 5 (inclusive) of each line in file.txt.

Command-line Arguments Explained:

  • -b3-5: Defines the byte range to extract (3 to 5).
  • file.txt: The input file.

Extract specific characters

Example Usage: cut -c1-2,5 file.txt

What it does: Extracts characters from positions 1 to 2 and position 5 of each line in file.txt.

Command-line Arguments Explained:

  • -c1-2,5: Defines character ranges to extract (1-2 and 5).
  • file.txt: The input file.

Exclude specific fields

Example Usage: cut -f1 --complement -d: file.txt

What it does: Extracts all fields except the first from each line of file.txt, using a colon (:) as the delimiter.

Command-line Arguments Explained:

  • -f1: Specifies the field to exclude (first).
  • --complement: Tells cut to exclude the specified field instead of including it.
  • -d:: Sets the delimiter to a colon (:).
  • file.txt: The input file.

Suppress lines without the delimiter

Example Usage: cut -d: -f2 -s file.txt

What it does: Extracts the second field from each line of file.txt but skips lines that do not contain the colon (:) delimiter.

Command-line Arguments Explained:

  • -d:: Sets the delimiter to a colon (:).
  • -f2: Specifies the field (second) to extract.
  • -s: Skips lines that do not match the delimiter.
  • file.txt: The input file.

Output with custom delimiter

Example Usage: cut -d: -f1,3 --output-delimiter=, file.txt

What it does: Extracts the first and third fields from file.txt using a colon (:) as the delimiter and outputs them separated by a comma (,).

Command-line Arguments Explained:

  • -d:: Sets the delimiter to a colon (:).
  • -f1,3: Specifies the fields (1st and 3rd) to extract.
  • --output-delimiter=,: Changes the output delimiter to a comma (,).
  • file.txt: The input file.

Extract fields from standard input

Example Usage: cat file.txt | cut -f1,4

What it does: Pipes the contents of file.txt into cut and extracts the first and fourth fields from each line.

Command-line Arguments Explained:

  • cat file.txt: Passes the file's contents to cut via a pipe.
  • -f1,4: Specifies the fields (1st and 4th) to extract.
  • |: Pipes the output of cat to cut.

Extract a range of fields

Example Usage: cut -f1-3 file.txt

What it does: Extracts the first, second, and third fields from each line of file.txt using the default tab delimiter.

Command-line Arguments Explained:

  • -f1-3: Defines a field range (1st to 3rd).
  • file.txt: The input file.

Extract bytes with offset

Example Usage: cut -b5- file.txt

What it does: Extracts bytes starting from position 5 to the end of each line in file.txt.

Command-line Arguments Explained:

  • -b5-: Defines a byte range starting at position 5 and continuing to the end.
  • file.txt: The input file.

Extract characters with offset

Example Usage: cut -c5- file.txt

What it does: Extracts characters starting from position 5 to the end of each line in file.txt.

Command-line Arguments Explained:

  • -c5-: Defines a character range starting at position 5 and continuing to the end.
  • file.txt: The input file.

More from this blog

Hong's Tech Blog

110 posts

The blog is older than you know. I prefer counting from the emergence of one integral anomaly to the emergence of the next, in which case this is the forth version.