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
.
To print the fifth column, use the following command:
$ awk '{ print $5 }' filename
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 -rw-r--r-- : obfuscated.txt -rw-r--r-- : paste1.txt -rw-r--r-- : paste2.txt
See also
The Using awk for advanced text processing recipe in this chapter explains the
awk
commandThe Column-wise cutting of the file with cut recipe in...