Log on to clyde: ssh user@clyde.cs.oberlin.edu.
ssh user@clyde.cs.oberlin.edu
books
mkdir
cd
wget
https://www.gutenberg.org/cache/epub/345/pg345.txt
$ wget --help
$ man wget
mv
pg345.txt
Stoker, Bram - Dracula.txt
'Stoker, Bram - Dracula.txt'
Stoker,\ Bram\ -\ Dracula.txt
The grep command is used for searching for text files for a “pattern” and printing out each line that matches the pattern. For example, $ grep vampire 'Stoker, Bram - Dracula.txt' prints out each line containing the word vampire (in lower case).
grep
$ grep vampire 'Stoker, Bram - Dracula.txt'
vampire
Read grep’s man page to figure out how to perform a case-insensitive search and run the command to print out all lines matching vampire, case insensitively. Hint: typing /case (and then hit enter) while viewing a man page will search for case in the manual. While searching, you can press n/N to go to the next/previous instance.
/case
case
n
N
You’re probably tired of typing the same command and file name over and over, try using the up/down arrows to move back and forth through the history of your commands and then editing the commands to make new ones. You can also use tab-completion to get Bash to fill in the rest of the name for you: start typing the file name and then hit tab.
Open the man page for grep one final time and figure out how to get grep to print the line numbers (and the lines themselves) that match Transylvania and then do that.
Transylvania
https://www.gutenberg.org/files/2814/2814-0.txt
Joyce, James - Dubliners.txt
Find and use the command to print out a count of every word in both books. Hint, the -a (or --and) option to apropos lets you search for commands that involve all of the key words so $ apropos -a apple sauce will match commands whose descriptions contain both the words apple and sauce. So use appropos -a with appropriate keywords to find a command that produces a word count.
-a
--and
apropos
$ apropos -a apple sauce
appropos -a
Run that command on all .txt files in the current directory using
.txt
$ cmd *.txt
where cmd is the command you found with apropos.
cmd
This is called a glob and we’ll talk about it next time.
Go to the parent directory (cd ..) and delete the books directory. Note that neither $ rm books nor $ rmdir books will work.
cd ..
$ rm books
$ rmdir books
steve@clyde:~$ rm books rm: cannot remove 'books': Is a directory steve@clyde:~$ rmdir books rmdir: failed to remove 'books': Directory not empty
Read the man page for rm to figure out how to recursively delete directories.
rm