BOSS-Linux/C3/Basics-of-awk/English
Title of script: The Awk Command
Author: Sachin Patil and Anirban
Keywords: Selection criteria, action, formatted printing, fields, Regular expressions, Variables
|
|
Display Slide 1 | Welcome to the spoken tutorial on the awk command. |
Display Slide 2
Learning Objective |
In this tutorial we will learn,
awk command. We will do this through some examples. |
Display Slide 3
System requirement |
To record this tutorial, I am using
Please note, GNU Bash version 4 or above is recommended to practice this tutorial. |
Display Slide 4
Introduction |
Let us start with an introduction to awk.
The awk command is a very powerful text manipulation tool. It is named after its authors, Aho, Weinberger and Kernighan. |
Continue Slide
|
It can perform several functions.
It operates at the field level of a record. So, it can easily access and edit the individual fields of the record. |
Let us see some examples.
For demonstration purpose, we use the awkdemo.txt file. Let us see the contents of awkdemo.txt file.
| |
Now open the terminal window
type: |
Now open the terminal window |
type:
|
Let us see how to print using awk command.
Type: awk space (within single quote) (front slash) ‘/Pass (front slash)/(opening curly bracket) {print (closing curly bracket)} (after the quotes) space awkdemo.txt
|
Here Pass is the selection criterion.
| |
Type
"awk '/M[ei]*ra*/ {print}' awkdemo.txt" [enter] |
We can also use regular expressions in awk
|
We would type:
| |
"*" will give one or more occurrences of previous character.
| |
awk supports the extended regular expressions (ERE).
Which means we can match multiple patterns separated by a PIPE. | |
Type
"awk '/civil|electrical/ {print}' awkdemo" [enter] |
Now type:
|
Display slide 7
|
Let us go back to our slides.
|
Switch to the terminal
|
Come back to our terminal. Note that each word is separated by PIPE in the file awkdemo.txt.
|
Type
“awk -F "|" '/civil|electrical/ {print $0}' awkdemo ” [enter]
|
awk space minus capital F space within double quotes PIPE space within single quote front slash civil PIPE electrical front slash within curly braces print space dollar0 space awkdemo.txt Press Enter This print the entire line since we have used $0. |
Type
“awk -F"|" '/Pass/ {print $2, $3}' awkdemo” [enter] |
Notice that, names and stream of students are the second and third fields.
|
Say we only want to print two fields.
Only two fields are shown. | |
Though it gives the right result, the display is all jagged and unformatted.
| |
“awk -F"|" '/Pass/ {printf "%4d %-25s %-15s \n",
NR,$2,$3 }' awkdemo” [enter]
|
We can provide formatted output by using the C style printf statement.
awk space -F”|” space '/Pass/{printf “%4d %-25s %-15s \n”, NR,$2,$3 }' space awkdemo.txt
We see the difference.
|
Display Slide 8
|
This brings us to the end of this tutorial.
In this tutorial we learnt To print using awk Regular expression in awk To list the enteries for a paritcular stream To list only the second and the third fileds To display a formatted output
|
Display Slide 9 | As an assignment
Display roll no., stream and marks of Ankti Saraf
|
Display Slide 10
Acknowledgement Slide
|
Watch the video available at the link shown below
It summarises the Spoken Tutorial project If you do not have good bandwidth, you can download and watch it |
Display Slide 11
Spoken Tutorial Workshops
|
The Spoken Tutorial Project Team
Conducts workshops using spoken tutorials Gives certificates to those who pass an online test For more details, please write to contact@spoken-tutorial.org |
Display Slide 12
Acknowledgement
|
Spoken Tutorial Project is a part of the Talk to a Teacher project
It is supported by the National Mission on Education through ICT, MHRD, Government of India More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro |
No Last Slide for tutorials created at IITB
Display the previous slide only and narrate this line. |
This is Ashwini Patil from IIT Bombay signning off. Thank you for joining. |