'Ring' found at: line 1, column 7 line 6, column 5 line 6, column 32 line 7, column 5 $ Search 'nd t' Tolkienl '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 $ Search Usage: Search

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

 

HOW CAN I DO THIS, I have beenn struggling for nearly 5 hours. 

please make sure it prints the line number and column number of every occurance of the search string. 

```
$ 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>
```

As always, your output must match the above format exactly for full credit. Observe that if the user does not have exactly two command line arguments after the Search command, a usage message will be printed.

The basic algorithm for this program will be to get each line of `<file>`, and search for all occurrences of the substring `<string>` within that line. When you find a match, save the line number and the position in the line at which the substring begins. When all lines have been searched, print out your match positions in the proper format, or print a message stating that the substring was not found. Note that when counting lines and columns, your counts must begin at 1, not at 0. See the following examples to learn different ways to iterate over the lines in a file.

/Examples/File1.py
/Examples/File2.py
/Examples/File3.py
/Examples/File4.py
/Examples/pa6/FileCopy.py

Also, see the documentation of function `str.find()` at

https://docs.python.org/3.9/library/stdtypes.html#text-sequence-type-str

to learn how to search a single string for a substring. Follow the general template posted in `/Examples` when writing your program. As always start early and ask for help if anything is not fully clear. Submit your file
```
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> ``` As always, your output must match the above format exactly for full credit. Observe that if the user does not have exactly two command line arguments after the Search command, a usage message will be printed. The basic algorithm for this program will be to get each line of `<file>`, and search for all occurrences of the substring `<string>` within that line. When you find a match, save the line number and the position in the line at which the substring begins. When all lines have been searched, print out your match positions in the proper format, or print a message stating that the substring was not found. Note that when counting lines and columns, your counts must begin at 1, not at 0. See the following examples to learn different ways to iterate over the lines in a file. /Examples/File1.py /Examples/File2.py /Examples/File3.py /Examples/File4.py /Examples/pa6/FileCopy.py Also, see the documentation of function `str.find()` at https://docs.python.org/3.9/library/stdtypes.html#text-sequence-type-str to learn how to search a single string for a substring. Follow the general template posted in `/Examples` when writing your program. As always start early and ask for help if anything is not fully clear. Submit your file ```
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 Tolkien1
```

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
```

successfully 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
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 Tolkien1 ``` 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 ``` successfully 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
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
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