[Ilugc] One Day One GNU/Linux Command (CUT)

  • From: sbharathi@xxxxxxxxxxxxx (Bharathi Subramanian)
  • Date: Fri Jul 4 14:58:57 2008

One Day One GNU/Linux Command
=============================

cut -- CUT a specified part form the file and Print it on stdout.

Summary : 

Print selected parts of lines from each file(s) to standard output.

Examples :

Create file1 with 10 columns (separated by TAB) of data for 10 lines 
and file2 with 10 columns (separated by space) of data for 10 lines.

$ cut -b2 file1 -- Print only the byte in 2 position. Tab & Backspace
                   are treated like a 1 byte char.

$ cut -b1,3,5 file1 -- Print only the bytes in 1,3 & 5 positions.

$ cut -c2 file1 -- Print only character in 2nd position. Normally 
                   same as -b option. But you can feel the difference 
                   only with multi-byte encodings (Unicode).

$ cut -f5 file1 -- Print only the 6th field. TAB is default separator.

$ cut -f4- file1 -- Print from 4th field to last field.

$ cut -f-5 file1 -- Print from 1st field to 4th field.

$ cut -d' ' -f3-5 file2 -- Print only the fields from 3 to 5, which is 
                           separated by spaces.

$ cut -s -d' ' -f2 file2 -- Don't print lines that don't contain the 
                            delimiter,space (line without a delimiter 
                            is printed verbatim).

$ cut -f2-5,7-9 --output-delimiter=',' file1 -- In the output, field
                   will be separated by "," (Not by the default one).

Note:
1) Use one, and only one of -b, -c or -f.  
2) Range or many ranges can be separated by commas. 
3) Range of Bytes/Chars/Fields can specified like this:
   
  N   == Only Nth byte, character or field.
  N-  == From Nth byte, character or field, to End of line.
  N-M == From Nth to Mth (included) byte, character or field.
  -M  == From 1st to Mth (included) byte, character or field.

Read : man cut
 
HTH :)
-- 
Bharathi S

Other related posts:

  • » [Ilugc] One Day One GNU/Linux Command (CUT) - Bharathi Subramanian