Write a python program that print out all lines in a file that contains the substring.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Write a python program that print out all lines in a file that contains the substring.

 

$Search tolkein1$ is the desired outlook(second image)

$ Search Ring Tolkien1
'Ring' found at:
line 1, column 7
line 6, column 5
line 6, column 32
line 7, column 5
$ Search 'nd t' Tolkien1
'nd t' found at:
line 6, column 42
line 7, column 50
$ Search ';' Tolkien2
';' found at:
line 2, column 26
line 8, column 5
$ Search Ring Tolkien2
'Ring' not found
$ Search Ring
Usage: Search <string> <file>
$ Search
Usage: Search <string> <file>
%24
Transcribed Image Text:$ Search Ring Tolkien1 'Ring' found at: line 1, column 7 line 6, column 5 line 6, column 32 line 7, column 5 $ Search 'nd t' Tolkien1 'nd t' found at: line 6, column 42 line 7, column 50 $ Search ';' Tolkien2 ';' found at: line 2, column 26 line 8, column 5 $ Search Ring Tolkien2 'Ring' not found $ Search Ring Usage: Search <string> <file> $ Search Usage: Search <string> <file> %24
In this project you will write yet another Python script to be run on the Unix timeshare, called Search.
This program will emulate the most elementary functionality of the grep command in Unix. The command
$ grep <string> <file>
where <string> is a string and <file> is a text file in your current working directory, prints all lines in
file <file> that contain the substring <string>. Depending on your terminal settings, it may also
highlight the occurrences of <string>in a different color. Download the files Tolkien1 and Tolkien2
from / Examples/lab5, and place them in a convenient directory on the timeshare (like ~/cse20/lab5).
From within that directory, type
$ grep Ring Tolkienl
and observe that all lines containing instances of the string 'Ring' are printed. Notice that there are 4
instances, and one instance is within the word "Rings". Thus, we see that grep is finding substrings of
each line, considered as a large string. You can also search for strings that contain spaces, as long as you
enclose that string in quotes (which you may do in any case.) Try doing
$ grep 'nd t' Tolkien1
to find two instances. Any string that contains characters having a special meaning to the bash interpreter,
such as the space, must be enclosed in quotes. For instance, if you search for a semi-colon ; by doing
$ grep ; Tolkien2
the interpreter thinks you are running two commands: grep (which gives you a usage message because you
gave it no arguments), followed by Tolkien2 (which gives a warning because the file is not executable).
On the other hand
$ grep ';' Tolkien2
sucsessfully locates two occurrences of ; within Tolkien2.
The command grep stands for: Globally search for a REgular expression and Print matching lines. A
regular expression, or regex, is a sequence of characters that specifies a search pattern. The simplest
possible such pattern is just a string to be searched for and matched, as demonstrated in the above examples.
More complex regular expressions can be used by grep to match sets of strings rather than just a single
string. We will not cover more advanced regular expressions here. Your Search program will emulate
the functionality of the grep on these elementary examples. Google the term regular expression to learn
more about this important concept, or do man grep to learn more about the functionality of the grep
command.
The output of Search will differ from that of grep in an essential way however. Instead of printing out
the lines with matching occurrences of <string>, Search will state the line number and column number
of (the beginning of) each occurrence of <string>within <file>. We illustrate the operation of Search
below on all of the preceding examples, and a few more.
Transcribed Image Text:In this project you will write yet another Python script to be run on the Unix timeshare, called Search. This program will emulate the most elementary functionality of the grep command in Unix. The command $ grep <string> <file> where <string> is a string and <file> is a text file in your current working directory, prints all lines in file <file> that contain the substring <string>. Depending on your terminal settings, it may also highlight the occurrences of <string>in a different color. Download the files Tolkien1 and Tolkien2 from / Examples/lab5, and place them in a convenient directory on the timeshare (like ~/cse20/lab5). From within that directory, type $ grep Ring Tolkienl and observe that all lines containing instances of the string 'Ring' are printed. Notice that there are 4 instances, and one instance is within the word "Rings". Thus, we see that grep is finding substrings of each line, considered as a large string. You can also search for strings that contain spaces, as long as you enclose that string in quotes (which you may do in any case.) Try doing $ grep 'nd t' Tolkien1 to find two instances. Any string that contains characters having a special meaning to the bash interpreter, such as the space, must be enclosed in quotes. For instance, if you search for a semi-colon ; by doing $ grep ; Tolkien2 the interpreter thinks you are running two commands: grep (which gives you a usage message because you gave it no arguments), followed by Tolkien2 (which gives a warning because the file is not executable). On the other hand $ grep ';' Tolkien2 sucsessfully locates two occurrences of ; within Tolkien2. The command grep stands for: Globally search for a REgular expression and Print matching lines. A regular expression, or regex, is a sequence of characters that specifies a search pattern. The simplest possible such pattern is just a string to be searched for and matched, as demonstrated in the above examples. More complex regular expressions can be used by grep to match sets of strings rather than just a single string. We will not cover more advanced regular expressions here. Your Search program will emulate the functionality of the grep on these elementary examples. Google the term regular expression to learn more about this important concept, or do man grep to learn more about the functionality of the grep command. The output of Search will differ from that of grep in an essential way however. Instead of printing out the lines with matching occurrences of <string>, Search will state the line number and column number of (the beginning of) each occurrence of <string>within <file>. We illustrate the operation of Search below on all of the preceding examples, and a few more.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY