nullByteMe
nullByteMe

Reputation: 6391

Cut command does not appear to be working

I'm piping a command to cut and nothing appears to be happening.

The output of the command looks like this:

     Name    File Info     OS
     11      FileName1     OS1
     12      FileName2     OS2
     13      FileName3     OS3

I'm trying to extract column 1,2 from all rows (starting with row 2) using the following:

my_command | cut -f1,2 and the output is exactly the same as the original.

Upvotes: 3

Views: 1924

Answers (3)

lurker
lurker

Reputation: 58244

If multiple spaces are used for a delimiter and the column positions are fixed, you would use column numbers with cut:

mycommand | cut -c1-27

Or you could lose the front spaces with:

mycommand | cut -c5-27

This will work even if your fields have embedded spaces. The awk method will fail if you have embedded spaces in your fields.

Upvotes: 3

user1502952
user1502952

Reputation: 1420

use tr -s to convert repeating spaces into single space. Now cut can be used where single space is delimiter seperating columns.

mycommand | tr -s ' ' | cut -d' ' -f1,2

Upvotes: 3

user000001
user000001

Reputation: 33317

Cut doen't behave well with multiple spaces as a delimiter. Use awk instead

mycommand | awk 'NR>1{print $1,$2}' 

Upvotes: 4

Related Questions