No, I don't really know of a fun book or manual. There is, of course, the bash advanced scripting guide:
http://tldp.org/LDP/abs/html/

I do nearly everything in bash, but I don't even touch any of the really advanced techniques, even though they would save lines or make even more possible.

You might like to look and learn from some examples I have done as a hobby. I have put together pure-bash clones of over a dozen command-line utilities -even a version of wget. Most of them follow a common methodology and syntax, so studying them gets easier as you go along. You can find them here:
http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/AmigoProjects/BashTrix/

To explain what I did above:
PART1=${STRING%% \"*}
separates what is to the left of ' "' (space+double-quote)
PART2=${STRING#*\"}
separates what is to the right of the first '"'

To illustrate this a little better, use a longer string which includes more than one quoted word, and then try various combinations using one '#' or two '#' chars, and one '%' or two '%' chars
Using one of either % or # means the shortest match, using two mean the longest match.
This:
echo ${PART1// /-}
substitutes the spaces with '-' chars. If you do this:
echo ${PART1/ /-} \"$PART2
it only substitutes the first occurrence(using the double'//' makes it act like the sed 'g' (global) option.
The double-quote chars always have to be escaped.

I dislike using regex's because it makes my head spin to try and read them. I used to use cut, grep and rev a lot, but mostly I do it with bash these days, even though it takes more lines to do the same thing. BTW, 'case' statements can be used to substitute for grep to nice effect.

This should work if the inside quotes are flags for command line arguments that begin with a non-alpha character like --help or -verbose but may have issues for html references_________________Web Programming - Pet Packaging 100 & 101