Printing the nth word or column in a file or line

We may have a file having a number of columns, and only a few will actually be useful. For example, in a list of students in an order of their scores, we want to get, for instance, the fourth highest scorer. In this recipe, we will see how to do this.

How to do it...

The most widely-used method is to use awk for doing this task. It can be also done using cut.

  1. To print the fifth column, use the following command:
    $ awk '{ print $5 }' filename
    
  2. We can also print multiple columns and insert our custom string in between columns.

    For example, to print the permission and filename of each file in the current directory, use the following set of commands:

    $ ls -l | awk '{ print $1 " :  " $8 }'
    -rw-r--r-- : delimited_data.txt ...

Get Linux Shell Scripting Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.