# Hungry For More?

## Cheating at crosswords

#### Setup

In both Mac and Linux, there's a built-in list of English words. On a Mac it's at `/usr/share/dict/words`

On Ubuntu you may need to apt install the `wordlist` package to add it. If that doesn't work, try `wamerican` or `wbritish` for the spelling variant of your choice. It should available at `/usr/share/dict/words` or `/usr/dict/words`

Run `cat /usr/share/dict/words` to see the whole list of words.

Read about Unix pipes from the <https://en.wikipedia.org/wiki/Pipeline\\_(Unix)>

#### Challenge 1

Count how many words (lines) in the words file using the built-in wordcount `wc` command. Use a pipe to take the result of `cat` and input into the `wc` command. Use `man wc` to see the manual for how to use wordcount to count the number of lines.

#### Challenge 2

Take a look at the `grep` command, this is used for searching for patterns of letters or characters. Here's a [tutorial](https://ostechnix.com/the-grep-command-tutorial-with-examples-for-beginners/).

Let's say you're trying to solve a crossword and the clue isn't helping you it's "three in a line" what could that be? Fortunately you've solved enough of the crossword to know that it contains the letters `yzy`.

Write a line of bash to list all words that contain `yzy`.

#### Challenge 3

The `ps` command will show a list of all the processes that are running on your computer.

Run `ps aux` to see a list of all processes, even the ones not attached to a terminal and include the user name.

Are you running Chrome (open it if you're not)? Use `ps aux`, `grep` and `wc` to find out how many processes Chrome is running. Try opening some more tabs in Chrome (with different sites) and running it again.

#### Challenge 4

The clue is "secondary person" and you have enough letters to know it looks like this: `_ _ _ t _ _ a _ _ _ i _ t`

Use words and grep to find the answer!

#### Challenge 5 (hard)

The clue is 'spinner' and all you know is that it's a 7-letter palindrome (yes, I know, that's not how crosswords work).

Write a regular expression which lets `grep` find all 7-letter palindromes in the words file.
