- AWK - Pretty Printing
- AWK - Output Redirection
- AWK - User Defined Functions
- AWK - Built in Functions
- AWK - Loops
- AWK - Control Flow
- AWK - Arrays
- AWK - Regular Expressions
- AWK - Operators
- AWK - Built in Variables
- AWK - Basic Examples
- AWK - Basic Syntax
- AWK - Workflow
- AWK - Environment
- AWK - Overview
- AWK - Home
AWK Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
AWK - Regular Expressions
AWK is very powerful and efficient in handpng regular expressions. A number of complex tasks can be solved with simple regular expressions. Any command-pne expert knows the power of regular expressions.
This chapter covers standard regular expressions with suitable examples.
Dot
It matches any single character except the end of pne character. For instance, the following example matches fin, fun, fan etc.
Example
[jerry]$ echo -e "cat bat fun fin fan" | awk /f.n/
On executing the above code, you get the following result −
Output
fun fin fan
Start of pne
It matches the start of pne. For instance, the following example prints all the pnes that start with pattern The.
Example
[jerry]$ echo -e "This That There Their these" | awk /^The/
On executing this code, you get the following result −
Output
There Their
End of pne
It matches the end of pne. For instance, the following example prints the pnes that end with the letter n.
Example
[jerry]$ echo -e "knife know fun fin fan nine" | awk /n$/
Output
On executing this code, you get the following result −
fun fin fan
Match character set
It is used to match only one out of several characters. For instance, the following example matches pattern Call and Tall but not Ball.
Example
[jerry]$ echo -e "Call Tall Ball" | awk /[CT]all/
Output
On executing this code, you get the following result −
Call Tall
Exclusive set
In exclusive set, the carat negates the set of characters in the square brackets. For instance, the following example prints only Ball.
Example
[jerry]$ echo -e "Call Tall Ball" | awk /[^CT]all/
On executing this code, you get the following result −
Output
Ball
Alteration
A vertical bar allows regular expressions to be logically ORed. For instance, the following example prints Ball and Call.
Example
[jerry]$ echo -e "Call Tall Ball Small Shall" | awk /Call|Ball/
On executing this code, you get the following result −
Output
Call Ball
Zero or One Occurrence
It matches zero or one occurrence of the preceding character. For instance, the following example matches Colour as well as Color. We have made u as an optional character by using ?.
Example
[jerry]$ echo -e "Colour Color" | awk /Colou?r/
On executing this code, you get the following result −
Output
Colour Color
Zero or More Occurrence
It matches zero or more occurrences of the preceding character. For instance, the following example matches ca, cat, catt, and so on.
Example
[jerry]$ echo -e "ca cat catt" | awk /cat*/
On executing this code, you get the following result −
Output
ca cat catt
One or More Occurrence
It matches one or more occurrence of the preceding character. For instance below example matches one or more occurrences of the 2.
Example
[jerry]$ echo -e "111 22 123 234 456 222" | awk /2+/
On executing the above code, you get the following result −
Output
22 123 234 222
Grouping
Parentheses () are used for grouping and the character | is used for alternatives. For instance, the following regular expression matches the pnes containing either Apple Juice or Apple Cake.
Example
[jerry]$ echo -e "Apple Juice Apple Pie Apple Tart Apple Cake" | awk /Apple (Juice|Cake)/
On executing this code, you get the following result −
Output
Apple Juice Apple CakeAdvertisements