Difference between revisions of "Linux/C3/The-grep-command/English-timed"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 5: Line 5:
 
|-
 
|-
 
|00:01
 
|00:01
|Welcome to the spoken tutorial on '''grep''' command
+
|Welcome to the spoken tutorial on '''grep''' command.
  
 
|-
 
|-
Line 25: Line 25:
 
|-
 
|-
 
|00:20
 
|00:20
| and *'''GNU BASH''' version 4.2.24
+
| and *'''GNU BASH''' version 4.2.24.
  
 
|-
 
|-
Line 33: Line 33:
 
|-
 
|-
 
|00:32
 
|00:32
|As prerequisitesYou should know basics of '''Linux terminal'''
+
|As prerequisites you should know basics of '''Linux terminal'''.
  
 
|-
 
|-
Line 45: Line 45:
 
|-
 
|-
 
|00:45
 
|00:45
|*Regular expressions are pattern matching techniques.
+
| Regular expressions are pattern matching techniques
  
 
|-
 
|-
 
|00:50
 
|00:50
|*When we have to find out whether a pattern exist in a line, paragraph or a file.
+
| when we have to find out whether a pattern exist in a line, paragraph or a file.
  
 
|-
 
|-
Line 57: Line 57:
 
|-
 
|-
 
| 01:02
 
| 01:02
Or To find a keyword in a paragraph or a line, we use '''grep command'''
+
or to find a keyword in a paragraph or a line, we use '''grep command'''.
 
Let us move on to '''grep'''.
 
Let us move on to '''grep'''.
  
Line 66: Line 66:
 
|-
 
|-
 
|01:17
 
|01:17
|If filename is not mentioned,''' grep''' search for the patterns in the standard input.
+
|If file name is not mentioned,''' grep''' searches for the patterns in the standard input.
  
 
|-
 
|-
 
|01:23
 
|01:23
|If filename is missing, '''grep''' searches for the patterns in the standard input.
+
|If file name is missing, '''grep''' searches for the patterns in the standard input.
  
 
|-
 
|-
 
|01:30
 
|01:30
|I will demonstrate usage of '''grep''' using a demo file called '''grepdemo.txt'''
+
|I will demonstrate usage of '''grep''' using a demo file called '''grepdemo.txt'''.
  
 
|-
 
|-
Line 86: Line 86:
 
|-
 
|-
 
|01:44
 
|01:44
|Each entry has 6 fields roll number, name, stream, marks, and stipend amount.  
+
|Each entry has 6 fields: roll number, name, stream, marks, and stipend amount.  
  
 
|-
 
|-
Line 118: Line 118:
 
|-
 
|-
 
|02:27
 
|02:27
|Press Enter
+
|Press Enter.
  
 
|-
 
|-
Line 158: Line 158:
 
|-
 
|-
 
|03:06
 
|03:06
|From back to our terminal Now Type:
+
|From back to our terminal, now type:
'''grep space (minus) i space (within double quotes) “'''computers”''' after the '''double quotes space grepdemo.txt'''
+
'''grep space (minus) i space (within double quotes) “computers” after the double quotes space grepdemo.txt'''
  
 
|-
 
|-
 
|03:20
 
|03:20
|Press ''' Enter.'''
+
|Press '''Enter.'''
  
 
|-
 
|-
Line 196: Line 196:
 
|03:52
 
|03:52
 
|For this type:
 
|For this type:
'''grep space minus iv space''' Within double quotes '''pass after the double quotes space grepdemo.txt space greater than sign space notpass.txt '''
+
'''grep space minus iv space''' within double quotes '''pass''' after the double quotes '''space grepdemo.txt space greater than sign space notpass.txt '''
  
 
|-
 
|-
Line 240: Line 240:
 
|-
 
|-
 
|04:54
 
|04:54
|Let us clear the '''prompt'''.  
+
|Let us clear the prompt.  
  
 
|-
 
|-
 
|04:58
 
|04:58
|  Now type "'''grep space -in space within double quote "fail" after the double quotes space grepdemo.txt'''
+
|  Now type '''grep space -in space''' within double quote "fail" after the double quotes '''space grepdemo.txt'''.
  
 
|-
 
|-
Line 260: Line 260:
 
|-
 
|-
 
|05:18
 
|05:18
|We may have multiword patterns as well.  
+
|We may have multi-word patterns as well.  
  
 
|-
 
|-
 
|05:21
 
|05:21
|But the entire pattern must be within '''quotes'''.
+
|But the entire pattern must be within quotes.
  
 
|-
 
|-
 
|05:24
 
|05:24
|So type: '''grep space minus i space'''within double quotes '''ankit space saraf after the double quotes space grepdemo.txt '''
+
|So, type: '''grep space minus i space'''within double quotes '''ankit space saraf''' after the double quotes '''space grepdemo.txt '''
  
 
|-
 
|-
Line 284: Line 284:
 
|-
 
|-
 
|05:48
 
|05:48
|For this Type:
+
|For this, type:
'''grep space minus i space''' within double quotes '''fail after double quotes space grepdemo.txt space notpass.txt'''  
+
'''grep space minus i space''' within double quotes '''fail''' after double quotes space '''grepdemo.txt space notpass.txt'''  
  
 
|-
 
|-
Line 297: Line 297:
 
|-
 
|-
 
|06:07
 
|06:07
|With multiple files, '''grep''' will write the name of the file in which the entry was found.'''grepdemo.txt''' and '''notpass.txt'''
+
|With multiple files, '''grep''' will write the name of the file in which the entry was found. '''grepdemo.txt''' and '''notpass.txt'''.
  
 
|-
 
|-
Line 305: Line 305:
 
|-
 
|-
 
|06:26
 
|06:26
|Suppose we may only want to know the '''number of matches '''or '''count''' .
+
|Suppose we may only want to know the '''number of matches '''or '''count'''.
  
 
|-
 
|-
 
|06:31
 
|06:31
|For that, we have the '''minus c''' option
+
|For that, we have the '''minus c''' option.
  
 
|-
 
|-
 
|06:35
 
|06:35
| So Type: '''grep space minus c space'''within double quotes '''Fail  with a capital F after the quotes space grepdemo.txt'''
+
| So, type: '''grep space minus c space'''within double quotes '''Fail''' with a capital F after the quotes '''space grepdemo.txt'''
  
 
|-
 
|-
Line 333: Line 333:
 
|-
 
|-
 
| 07:01
 
| 07:01
| In this tutorial we learnt,
+
| In this tutorial we learnt:
  
 
|-
 
|-
 
|07:03
 
|07:03
|*To see the content of a file
+
|* To see the content of a file
 
**eg. '''cat filename'''
 
**eg. '''cat filename'''
 
|-
 
|-
 
|07:07
 
|07:07
|*To list the entries of a particular stream
+
|* To list the entries of a particular stream
 
**eg. '''grep “computers” grepdemo.txt'''
 
**eg. '''grep “computers” grepdemo.txt'''
  
 
|-
 
|-
 
|07:14
 
|07:14
|*To ignore cases
+
|* To ignore cases
 
**eg. '''grep -i “computers” grepdemo.txt'''
 
**eg. '''grep -i “computers” grepdemo.txt'''
  
 
|-
 
|-
 
|07:21
 
|07:21
|*Lines that do not match the pattern
+
|* Lines that do not match the pattern
 
**eg. '''grep -iv “pass” grepdemo.txt'''
 
**eg. '''grep -iv “pass” grepdemo.txt'''
  
 
|-
 
|-
 
|07:30
 
|07:30
|*To list the line numbers with the entries
+
|* To list the line numbers with the entries
 
**eg.''' grep -in “fail” grepdemo.txt'''
 
**eg.''' grep -in “fail” grepdemo.txt'''
  
 
|-
 
|-
 
|07:38
 
|07:38
|*To store the result in another file
+
|* To store the result in another file
 
**eg. '''grep -iv “pass” grepdemo.txt > notpass.txt'''
 
**eg. '''grep -iv “pass” grepdemo.txt > notpass.txt'''
  
 
|-
 
|-
 
|07:50
 
|07:50
|And*To know the count
+
|And* To know the count
**eg.''' grep -c “Fail” grepdemo.txt'''
+
**eg.''' grep -c “Fail” grepdemo.txt'''.
  
 
|-
 
|-
Line 375: Line 375:
 
|-
 
|-
 
|07:58
 
|07:58
|Explore some other commands like '''-E, + and ?'''
+
|Explore some other commands like '''-E, + and ?'''.
  
 
|-
 
|-
Line 383: Line 383:
 
|-
 
|-
 
|08:06
 
|08:06
|It summarises the Spoken Tutorial project.
+
|It summarizes the Spoken Tutorial project.
  
 
|-
 
|-
Line 391: Line 391:
 
|-
 
|-
 
|08:14
 
|08:14
|The Spoken Tutorial Project Team
+
|The Spoken Tutorial Project Team:
  
 
|-
 
|-
 
|08:16
 
|08:16
|*Conducts workshops using spoken tutorials
+
|* Conducts workshops using spoken tutorials
  
 
|-
 
|-
 
|08:19
 
|08:19
|*Gives certificates to those who pass an online test
+
|* Gives certificates to those who pass an online test.
  
 
|-
 
|-
Line 408: Line 408:
 
|-
 
|-
 
|08:30
 
|08:30
|Spoken Tutorial Project is a part of the Talk to a Teacher project
+
|Spoken Tutorial Project is a part of the Talk to a Teacher project.
  
 
|-
 
|-
 
|08:33
 
|08:33
|It is supported by the National Mission on Education through ICT, MHRD, Government of India
+
|It is supported by the National Mission on Education through ICT, MHRD, Government of India.
  
 
|-
 
|-
 
|08:40
 
|08:40
|More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro
+
|More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro.
  
 
|-
 
|-
 
|08:45
 
|08:45
|This is Ashwini Patil from IIT Bombay signning off. Thank you for joining.
+
|This is Ashwini Patil from IIT Bombay, signing off. Thank you for joining.
  
 
|}
 
|}

Revision as of 12:34, 12 March 2015

Time Narration
00:01 Welcome to the spoken tutorial on grep command.
00:05 In this tutorial we will learn grep command.
00:09 We will do this with the help of some examples.
00:11 To record this tutorial, I am using
00:15 *Ubuntu Linux 12.04 Operating System
00:20 and *GNU BASH version 4.2.24.
00:24 Please note, GNU bash version 4 or above is recommended to practice this tutorial.
00:32 As prerequisites you should know basics of Linux terminal.
00:36 For relevant tutorials, please visit our website which is as shown.
00:41 First let us know about regular expressions.
00:45 Regular expressions are pattern matching techniques
00:50 when we have to find out whether a pattern exist in a line, paragraph or a file.
00:56 For ex. If you want to search a phone number in the telephone directory
01:02 or to find a keyword in a paragraph or a line, we use grep command.

Let us move on to grep.

01:11 grep searches for one or more patterns in one or more line, paragraph or a file.
01:17 If file name is not mentioned, grep searches for the patterns in the standard input.
01:23 If file name is missing, grep searches for the patterns in the standard input.
01:30 I will demonstrate usage of grep using a demo file called grepdemo.txt.
01:37 Let us see the content of the file.
01:40 This is a file that has 13 entries.
01:44 Each entry has 6 fields: roll number, name, stream, marks, and stipend amount.
01:52 The fields are separated by a bar, which is called a delimiter.
01:56 Let us see how grep works.
02:00 Say we want to use grep command, to see who are the students in the computers stream.
02:07 For this we have to open the terminal.
02:10 So press CTRL + ALT and T keys simultaneously on your keyboard.
02:16 Now type on the terminal:
02:18 grep space (within double quotes) computers after the double quotes space grepdemo .txt
02:27 Press Enter.
02:28 This would enlist those entries where stream is computers.
02:33 Now compare the result with the original file.
02:37 Come back to our text editor.
02:40 We see that the entry for Zubin is not enlisted.
02:45 Why this is so?
02:46 This is because grep searched for the pattern “computers” with small c
02:52 While for Zubin, the stream is “Computers” with a capital C.
02:57 The pattern matching is case sensitive.
03:00 To make it case insensitive, we need to use the minus i option with grep.
03:06 From back to our terminal, now type:

grep space (minus) i space (within double quotes) “computers” after the double quotes space grepdemo.txt

03:20 Press Enter.
03:21 This will now enlist all the four entries.
03:25 So we saw, grep enlists only those lines of files that match a given pattern.
03:32 We may do the reverse.
03:34 It is possible to make grep enlist only those lines that do not match the pattern.
03:40 For that we have the minus v option.
03:43 Say, we want to enlist those entries of students who have not passed.
03:48 We can also store this result in another file
03:52 For this type:

grep space minus iv space within double quotes pass after the double quotes space grepdemo.txt space greater than sign space notpass.txt

04:11 Press Enter.
04:12 To see the content of file, type: cat space notpass.txt
04:20 Press Enter.
04:21 The output is displayed.
04:24 Now at the prompt type:
04:26 grep space minus i space' within double quotes fail after the double quotes space grepdemo.txt
04:37 And Press Enter.
04:38 This is different.
04:41 This will include those students who are failed but their result is incomplete.
04:46 If we want to see the line number in the file at which the enlisted entries are, we have the minus n option
04:54 Let us clear the prompt.
04:58 Now type grep space -in space within double quote "fail" after the double quotes space grepdemo.txt.
05:09 Press Enter.
05:11 The line number is displayed.
05:15 The patterns so far have been of single word.
05:18 We may have multi-word patterns as well.
05:21 But the entire pattern must be within quotes.
05:24 So, type: grep space minus i spacewithin double quotes ankit space saraf after the double quotes space grepdemo.txt
05:38 Press Enter.
05:40 We see that Ankit Saraf's record is displayed.
05:44 We can also find patterns in multiple files.
05:48 For this, type:

grep space minus i space within double quotes fail after double quotes space grepdemo.txt space notpass.txt

06:03 Press Enter.
06:04 The output is displayed.
06:07 With multiple files, grep will write the name of the file in which the entry was found. grepdemo.txt and notpass.txt.
06:18 These are the records from notpass.txt file and these are the records from grepdemo.txt file.
06:26 Suppose we may only want to know the number of matches or count.
06:31 For that, we have the minus c option.
06:35 So, type: grep space minus c spacewithin double quotes Fail with a capital F after the quotes space grepdemo.txt
06:48 Press Enter.
06:50 This will give us the count of number of lines matched.
06:55 This brings us to the end of this tutorial.
06:59 Let us summarize.
07:01 In this tutorial we learnt:
07:03 * To see the content of a file
    • eg. cat filename
07:07 * To list the entries of a particular stream
    • eg. grep “computers” grepdemo.txt
07:14 * To ignore cases
    • eg. grep -i “computers” grepdemo.txt
07:21 * Lines that do not match the pattern
    • eg. grep -iv “pass” grepdemo.txt
07:30 * To list the line numbers with the entries
    • eg. grep -in “fail” grepdemo.txt
07:38 * To store the result in another file
    • eg. grep -iv “pass” grepdemo.txt > notpass.txt
07:50 And* To know the count
    • eg. grep -c “Fail” grepdemo.txt.
07:57 As an assignment,
07:58 Explore some other commands like -E, + and ?.
08:04 Watch the video available at the link shown below.
08:06 It summarizes the Spoken Tutorial project.
08:10 If you do not have good bandwidth, you can download and watch it.
08:14 The Spoken Tutorial Project Team:
08:16 * Conducts workshops using spoken tutorials
08:19 * Gives certificates to those who pass an online test.
08:23 For more details, please write to

contact@spoken-tutorial.org

08:30 Spoken Tutorial Project is a part of the Talk to a Teacher project.
08:33 It is supported by the National Mission on Education through ICT, MHRD, Government of India.
08:40 More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro.
08:45 This is Ashwini Patil from IIT Bombay, signing off. Thank you for joining.

Contributors and Content Editors

Madhurig, PoojaMoolya, Pratik kamble, Sandhya.np14