<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=BOSS-Linux%2FC3%2FMore-on-grep-command%2FEnglish</id>
		<title>BOSS-Linux/C3/More-on-grep-command/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=BOSS-Linux%2FC3%2FMore-on-grep-command%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=BOSS-Linux/C3/More-on-grep-command/English&amp;action=history"/>
		<updated>2026-04-21T06:33:01Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=BOSS-Linux/C3/More-on-grep-command/English&amp;diff=19751&amp;oldid=prev</id>
		<title>PoojaMoolya: Created page with &quot;'''Title of script''': More on grep command  '''Author : Sachin Patil and Anirban'''  '''Keywords:Search,Pattern,regular expressions,extended regular expression'''    {| style...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=BOSS-Linux/C3/More-on-grep-command/English&amp;diff=19751&amp;oldid=prev"/>
				<updated>2015-01-29T07:09:26Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Title of script&amp;#039;&amp;#039;&amp;#039;: More on grep command  &amp;#039;&amp;#039;&amp;#039;Author : Sachin Patil and Anirban&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Keywords:Search,Pattern,regular expressions,extended regular expression&amp;#039;&amp;#039;&amp;#039;    {| style...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Title of script''': More on grep command&lt;br /&gt;
&lt;br /&gt;
'''Author : Sachin Patil and Anirban'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords:Search,Pattern,regular expressions,extended regular expression'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| '''Narration'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 1&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Welcome to the spoken tutorial on more on '''grep''' &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 2&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| In this tutorial we will learn some more grep commands.&lt;br /&gt;
&lt;br /&gt;
Through some examples&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 3&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
'''Linux''' 12.04''' Operating System''' and&lt;br /&gt;
&lt;br /&gt;
'''GNU BASH''' version 4.2.24&lt;br /&gt;
&lt;br /&gt;
Please note,''' GNU bash''' version 4 or above is recommended to practice this tutorial.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 4&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| As prerequisites&lt;br /&gt;
&lt;br /&gt;
You should know Basics of linux terminal.&lt;br /&gt;
&lt;br /&gt;
You should be aware of grep.&lt;br /&gt;
&lt;br /&gt;
For relevant tutorials please visit our website:&lt;br /&gt;
&lt;br /&gt;
http://spoken-tutorial.org&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| At the prompt type&lt;br /&gt;
&lt;br /&gt;
“'''grep -e “electronics” -e “civil” grepdemo.txt”'''&amp;lt;nowiki&amp;gt; [&amp;lt;/nowiki&amp;gt;enter]&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| We can match more than one patterns as well.&lt;br /&gt;
&lt;br /&gt;
Then we have to use the '''-e''' option.&lt;br /&gt;
&lt;br /&gt;
I will use the same example grepdemo.txt&lt;br /&gt;
&lt;br /&gt;
Say we want to find information for those who are either in '''civil''' or '''electronics'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We need to type on terminal:&lt;br /&gt;
&lt;br /&gt;
'''grep''' space '''hyphen e''' space in double quotes '''electronics''' space '''hyphen e''' space in double quotes '''civil''' space '''grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
'''Press Enter.'''&lt;br /&gt;
&lt;br /&gt;
The output is displayed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| At the prompt type&lt;br /&gt;
&lt;br /&gt;
“'''grep -ie “choudhury” -ie “chowdhari” grepdemo.txt”'''&amp;lt;nowiki&amp;gt; [&amp;lt;/nowiki&amp;gt;enter]&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Say you need to look into people whose title is '''choudhury'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The problem is different people spell their titles in different way.&lt;br /&gt;
&lt;br /&gt;
So what is the solution?.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In such cases we can use '''hyphen e''' option with '''hyphen i.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''grep''' space '''hyphen''' '''ie''' space in double quotes '''choudhury''' space '''hyphen ie''' space in double quotes '''chowdhari''' space '''grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
'''Press Enter.'''&lt;br /&gt;
&lt;br /&gt;
The output is displayed.&lt;br /&gt;
&lt;br /&gt;
But there can be many other ways in which we can write the name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How many '''-e''' options can we give.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obviously there needs to be a better way and that way is through Regular expressions.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 5&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| A regular expression provides a concise and flexible means for matching strings of text.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Such as particular characters, words or patterns of characters.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| There are a number of regular expression characters.&lt;br /&gt;
&lt;br /&gt;
Let us see them one by one.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 6&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| The character class.&lt;br /&gt;
&lt;br /&gt;
It allows us to specify a group of characters within a pair of square brackets .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only one out of this group of characters is matched.&lt;br /&gt;
&lt;br /&gt;
Eg&amp;lt;nowiki&amp;gt;. [&amp;lt;/nowiki&amp;gt;abc] would mean that this regular expression matches either a or b or c. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| At the prompt&lt;br /&gt;
&lt;br /&gt;
'''grep -i “ch&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;ao&amp;lt;nowiki&amp;gt;][&amp;lt;/nowiki&amp;gt;uw]dh&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;ua]r&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;yi]”'''&lt;br /&gt;
&lt;br /&gt;
'''grepdemo.txt'''&amp;lt;nowiki&amp;gt; [&amp;lt;/nowiki&amp;gt;enter]&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| To match '''choudhury''' we may type at the prompt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''grep''' space '''hyphen i''' space in double quotes '''ch&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;ao&amp;lt;nowiki&amp;gt;][&amp;lt;/nowiki&amp;gt;uw]dh&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;ua]r&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;yi]''' space '''grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Press Enter.'''&lt;br /&gt;
&lt;br /&gt;
The output is displayed.&lt;br /&gt;
&lt;br /&gt;
It still does not match '''choudhuree''' with double e.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 7&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| If we want to specify a large range then write:&lt;br /&gt;
&lt;br /&gt;
first letter dash last letter of the range&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suppose we like to match any digit we simply write&amp;lt;nowiki&amp;gt; [0-9].&lt;br /&gt;
&lt;br /&gt;
One out of this group of characters is matched. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| The '''&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;''' refers to 0 or more occurrences of the immediately preceding character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example '''ab&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;''' can match '''a,ab,abb,abbb''' etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| At the prompt&lt;br /&gt;
&lt;br /&gt;
'''grep -i “m&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;ei]*raa&amp;lt;nowiki&amp;gt;*” &amp;lt;/nowiki&amp;gt;grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;enter]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| So to match the students name whose name is '''Mira'''&lt;br /&gt;
&lt;br /&gt;
We write at the prompt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''grep''' space '''hyphen i''' space in double quotes '''m&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;ei] asterisk r a a''' '''asterisk''' space '''grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Press Enter.'''&lt;br /&gt;
&lt;br /&gt;
The output is displayed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;|&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| The '''dot “.”''' &lt;br /&gt;
regular expression matches any one character.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| At the prompt&lt;br /&gt;
&lt;br /&gt;
'''grep “M...” grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;enter]&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Say we want to search any words that are 4 letters long and start with '''M.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We would simply write&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''grep''' space within double quotes '''M...''' space after the double quote space '''grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
'''Press Enter.'''&lt;br /&gt;
&lt;br /&gt;
The output is displayed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here the space within the quote is important.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it would match 5 or more letter words.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 10&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| We may be specific about where in the line we want to search for our pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It may be at the beginning of the line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For that we have the '''caret sign.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| At the prompt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''grep “^A” grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;enter]&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Now if we want those entries whose roll numbers start with '''A.'''&lt;br /&gt;
&lt;br /&gt;
We know that roll is the first field in the file.&lt;br /&gt;
&lt;br /&gt;
We write at the prompt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''grep '''in double quotes '''caret A''' then space '''grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Press Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 11&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the prompt, type:&lt;br /&gt;
&lt;br /&gt;
'''grep&amp;lt;nowiki&amp;gt; “[78]...$ ” &amp;lt;/nowiki&amp;gt;grepdemo.txt''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;enter]&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Similarly to match a pattern at the end of the file, we have the '''dollar sign.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find stipends between '''7000 '''to '''8999''' we have to write:&lt;br /&gt;
&lt;br /&gt;
'''grep''' space in double quotes'''&amp;lt;nowiki&amp;gt; [78]&amp;lt;/nowiki&amp;gt;'''...'''dolar sign''' space '''grepdemo.txt'''&lt;br /&gt;
&lt;br /&gt;
'''Press Enter '''&lt;br /&gt;
&lt;br /&gt;
The output is displayed.&lt;br /&gt;
&lt;br /&gt;
This brings me to the end of this tutorial. &lt;br /&gt;
&lt;br /&gt;
Let us summarize.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Display Slide 12&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| In this tutorial we learnt,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To match more than one pattern&lt;br /&gt;
&lt;br /&gt;
To check a word that has different spelling&lt;br /&gt;
&lt;br /&gt;
Character class&lt;br /&gt;
&lt;br /&gt;
The use of asterisk&lt;br /&gt;
&lt;br /&gt;
To match any one character using dot&lt;br /&gt;
&lt;br /&gt;
To match a pattern at the beginning of the file&lt;br /&gt;
&lt;br /&gt;
To match a pattern at the end of the file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 13&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| As an assignment,&lt;br /&gt;
&lt;br /&gt;
List those entries that are 5 letters long and starts with Y.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 14&lt;br /&gt;
&lt;br /&gt;
Acknowledgement Slide&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Watch the video available at the link shown below&lt;br /&gt;
&lt;br /&gt;
It summarises the Spoken Tutorial project&lt;br /&gt;
&lt;br /&gt;
If you do not have good bandwidth, you can download and watch it&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 15&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial Workshops&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| The Spoken Tutorial Project Team&lt;br /&gt;
&lt;br /&gt;
Conducts workshops using spoken tutorials&lt;br /&gt;
&lt;br /&gt;
Gives certificates to those who pass an online test&lt;br /&gt;
&lt;br /&gt;
For more details, please write to&lt;br /&gt;
&lt;br /&gt;
contact@spoken-tutorial.org&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Display Slide 16&lt;br /&gt;
&lt;br /&gt;
Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Spoken Tutorial Project is a part of the Talk to a Teacher project&lt;br /&gt;
&lt;br /&gt;
It is supported by the National Mission on Education through ICT, MHRD, Government of India&lt;br /&gt;
&lt;br /&gt;
More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| No Last Slide for tutorials created at IITB &lt;br /&gt;
&lt;br /&gt;
Display the previous slide only and narrate this line.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| The script has been contributed by Sachin Patil.&lt;br /&gt;
&lt;br /&gt;
This is Ashwini Patil from IIT Bombay signning off. Thank you for joining.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>PoojaMoolya</name></author>	</entry>

	</feed>