In awk each column can be represented by $n , where n can be any number 0,1,2,3 etc.We must specify the delimited of the fields in the command. By default a space or any amount of consecutive spaces is considered as delimiter.
1. To print the column 1 and 4 of the below data in awk
> cat sample.txt
Tom 1990 IT 98
Joseph 1988 Mechanical 80
Mary 1991 Electronics 95
> awk '{print $1, $4 } ' sample.txt
Tom 98
Joseph 80
Mary 95
2. To print the entire column of the text
> awk 'print{$0}' sample.txt
Tom 1990 IT 98
Joseph 1988 Mechanical 80
Mary 1991 Electronics 95
2. To print the entire column of the text
> awk 'print{$0}' sample.txt
Tom 1990 IT 98
Joseph 1988 Mechanical 80
Mary 1991 Electronics 95
3. To print add a text along with column values -
In the below example we are going to add text "Name:" in front of column 1 , and "Marks:" before column 4.
> awk '{print "Name:"$1," Marks:"$4}' sample.txt
Name:Tom Marks:98
Name:Joseph Marks:80
Name:Mary Marks:95
4. To print the number of words in each line we can use NF parameter .Here each line has four fields.
> awk '{print $0",",NF}' sample.txt
Tom 1990 IT 98, 4
Joseph 1988 Mechanical 80, 4
Mary 1991 Electronics 95, 4
5. If the file is having a different delimiter , say comma(,) , then we have to specify that in awk command to separate the column.
> cat sample2.txt
Tom,1990,IT,98
Joseph,1988,Mechanical,80
Mary,1991,Electronics,95
> awk -F"," '{print $1,$4}' sample2.txt
Tom 98
Joseph 80
Mary 95
Comments
Post a Comment