There’s a “G _ P W _ R D” puzzle in the current issue: a crossword where some of the letters in the clues are missing, and you learn what they are by filling in the grid. As they put it, “Solve the clues to determine letters to write in the grids to fill in the gaps in the clues in order to put the answers in.”
It may be hard to understand it all without showing the grids, but here’s how I solved one (two) clues that had me a bit stuck. Once I thought about this way of solving I had to try it.
The clue is a word with a missing first letter:
x I T C H
And I know from the grid that the first letter of the clue is the first letter of the answer:
x _ A _ N
There are just a few options for the first word, but many more for the second. This shell script goes through all the words in /usr/share/dict/words, finds the ones that match the first pattern, picks out their first letters, then finds any words that match the second pattern.
With the options to
"^..a.n$" means “do a case-insensitive search for any word that is exactly five letters long where the third letter is A and the fifth is N.”
Does bitch mean Brain? Does ditch mean Deann? Does ditch mean Diann? Does bitch mean brain? Does bitch mean brawn? Does ditch mean drain? Does ditch mean drawn? Does pitch mean plain? Does pitch mean prawn?
There we are: DITCH and DRAIN. Solved!
(I used to do
for word in $(grep foo $dict), but shellcop told me to do it with
while read, so I’m trying that out.)