Difference between revisions of "Linux-AWK/C2/Basics-of-awk/English"
(Created page with ''''Title of script''': The Awk tool Part 1 '''Author: Sachin Patil''' '''Keywords: Selection criteria, action, formatted printing, fields, Regular expressions, Variables''' …') |
|||
Line 1: | Line 1: | ||
− | '''Title of script''': The Awk | + | '''Title of script''': The Awk Command |
− | '''Author: Sachin Patil''' | + | '''Author: Sachin Patil and Anirban''' |
'''Keywords: Selection criteria, action, formatted printing, fields, Regular expressions, Variables''' | '''Keywords: Selection criteria, action, formatted printing, fields, Regular expressions, Variables''' | ||
Line 13: | Line 13: | ||
|- | |- | ||
| style="border:1pt solid #000000;padding:0.097cm;"| Display Slide 1 | | style="border:1pt solid #000000;padding:0.097cm;"| Display Slide 1 | ||
− | | style="border:1pt solid #000000;padding:0.097cm;"| Welcome to | + | | style="border:1pt solid #000000;padding:0.097cm;"| Welcome to the spoken tutorial on the '''awk''' command. |
|- | |- | ||
Line 22: | Line 22: | ||
awk command. | awk command. | ||
+ | |||
+ | We will do this through some examples. | ||
|- | |- | ||
Line 31: | Line 33: | ||
Ubuntu Linux 12.04 OS | Ubuntu Linux 12.04 OS | ||
− | GNU BASH v. 4.2.24 | + | GNU BASH v. 4.2.24 |
Please note, GNU bash version 4 or above is recommended to practice this tutorial. | Please note, GNU bash version 4 or above is recommended to practice this tutorial. | ||
Line 37: | Line 39: | ||
|- | |- | ||
| style="border:1pt solid #000000;padding:0.097cm;"| Display Slide 4 | | style="border:1pt solid #000000;padding:0.097cm;"| Display Slide 4 | ||
+ | |||
+ | Let us start with an introduction to awk. | ||
Introduction | Introduction | ||
− | | style="border:1pt solid #000000;padding:0.097cm;"| The''' awk''' command is a very powerful text manipulation tool | + | | style="border:1pt solid #000000;padding:0.097cm;"| The''' awk''' command is a very powerful text manipulation tool. |
It is named after its authors, Aho, Weinberger and Kernighan. | It is named after its authors, Aho, Weinberger and Kernighan. | ||
Line 60: | Line 64: | ||
For demonstration purpose we use the''' awkdemo.txt '''file. | For demonstration purpose we use the''' awkdemo.txt '''file. | ||
− | Let us see the contents of '''awkdemo.txt'''. | + | Let us see the contents of '''awkdemo.txt''' file. |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 70: | Line 71: | ||
|- | |- | ||
− | | style="border:1pt solid #000000;padding:0.176cm;"| | + | | style="border:1pt solid #000000;padding:0.176cm;"| Now open the terminal |
− | ''' | + | '''CTRL + ALT and T keys''' simultaneosuly on your keyboard. |
type: | type: | ||
− | | style="border:1pt solid #000000;padding:0.097cm;"| Now open the terminal by pressing ''' | + | | style="border:1pt solid #000000;padding:0.097cm;"| Now open the terminal by pressing '''CTRL + ALT and T keys''' simultaneosuly on your keyboard. |
|- | |- | ||
Line 83: | Line 84: | ||
"awk '/Pass/ {print}' awkdemo.txt<nowiki>" [</nowiki>enter] | "awk '/Pass/ {print}' awkdemo.txt<nowiki>" [</nowiki>enter] | ||
− | | style="border:1pt solid #000000;padding:0.097cm;"| | + | | style="border:1pt solid #000000;padding:0.097cm;"| 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''' | ||
− | |||
+ | Press '''Enter''' | ||
Here '''Pass''' is the selection criterion. | Here '''Pass''' is the selection criterion. | ||
Line 109: | Line 114: | ||
− | '''awk''' space ''''/M<nowiki>[</nowiki>ei]*ra<nowiki>*/{</nowiki>print}'''' space '''awkdemo.txt''' | + | '''awk''' space ''''/M<nowiki>opening square bracket [</nowiki>ei closing square bracket ]*ra<nowiki>*/{</nowiki>print}'''' space '''awkdemo.txt''' |
Line 126: | Line 131: | ||
Meeraa | Meeraa | ||
− | |||
− | |||
Line 140: | Line 143: | ||
"awk '/civil|electrical/ {print}' awkdemo<nowiki>" [</nowiki>enter] | "awk '/civil|electrical/ {print}' awkdemo<nowiki>" [</nowiki>enter] | ||
− | | style="border:1pt solid #000000;padding:0.097cm;"| | + | | style="border:1pt solid #000000;padding:0.097cm;"| Now type: |
Line 156: | Line 159: | ||
− | | style="border:1pt solid #000000;padding:0.097cm;"| | + | | style="border:1pt solid #000000;padding:0.097cm;"| Let us go back to our slides. |
Line 187: | Line 190: | ||
− | To specify a delimiter we have to give '''-F '''flag followed by a delimiter. | + | To specify a delimiter we have to give '''- capital F '''flag followed by a delimiter. |
Line 216: | Line 219: | ||
Within curly braces''' print''' space '''dollar0 '''now outside the quotes space''' awkdemo.txt''' | Within curly braces''' print''' space '''dollar0 '''now outside the quotes space''' awkdemo.txt''' | ||
+ | Press '''Enter''' | ||
This print the entire line since we have used '''$0.''' | This print the entire line since we have used '''$0.''' | ||
Line 232: | Line 236: | ||
− | + | press '''Enter ''' | |
− | + | Only two fields are shown. | |
− | + | ||
|- | |- | ||
Line 260: | Line 263: | ||
− | + | Now type: | |
'''awk''' space '''-F”|”''' space ''''/Pass/{printf “%4d %-25s %-15s \n”,''' '''NR,$2,$3 }'''' space '''awkdemo.txt''' | '''awk''' space '''-F”|”''' space ''''/Pass/{printf “%4d %-25s %-15s \n”,''' '''NR,$2,$3 }'''' space '''awkdemo.txt''' | ||
Line 266: | Line 269: | ||
'''Press Enter.''' | '''Press Enter.''' | ||
+ | |||
+ | We see the difference. | ||
Line 285: | Line 290: | ||
The minus sign is used to left justify the output. | The minus sign is used to left justify the output. | ||
+ | This brings us to the end of this tutorial. | ||
+ | |||
+ | Let us move back to our slides. | ||
+ | |||
+ | |||
+ | |||
+ | |- | ||
+ | | style="border:1pt solid #000000;padding:0.097cm;"| Display Slide 8 | ||
+ | |||
+ | | Let us summarize. | ||
+ | |||
+ | 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 | ||
+ | |||
+ | |||
+ | |- | ||
+ | | style="border:1pt solid #000000;padding:0.097cm;"| Display Slide 9 | ||
+ | |||
+ | | As an assignment | ||
+ | Display roll no., stream and marks of Ankti Saraf | ||
Revision as of 15:50, 14 December 2013
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
Ubuntu Linux 12.04 OS GNU BASH v. 4.2.24 Please note, GNU bash version 4 or above is recommended to practice this tutorial. |
Display Slide 4
Let us start with an introduction to awk. Introduction |
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. | |
awkdemo.txt | This is the content of awkdemo.txt file. |
Now open the terminal
CTRL + ALT and T keys simultaneosuly on your keyboard.
|
Now open the terminal by pressing CTRL + ALT and T keys simultaneosuly on your keyboard. |
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
Mira Meeraa
|
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
|
Note that each word is separated by PIPE in the file awkdemo.txt.
|
Type
“awk -F "|" '/civil|electrical/ {print $0}' awkdemo ” [enter]
|
Lets go back to the terminal.
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.
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.
This brings us to the end of this tutorial. Let us move back to our slides.
|
Display Slide 8 | Let us summarize.
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 11
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 12
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 13
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. |
The script has been contributed by Sachin Patil.
This is Ashwini Patil from IIT Bombay signning off. Thank you for joining. |