What GNU/Linux command-line tool would I use for performing a search and replace on a file?
Can the search text, and replacement, be specified in a regex format?
sed 's/a.*b/xyz/g;' old_file > new_file
GNU sed (which you probably have) is even more versatile:
sed -r --in-place 's/a(.*)b/x\1y/g;' your_file
Here is a brief explanation of those options:
-i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if extension supplied)
-r, --regexp-extended use extended regular expressions in the script.
The FreeBSD, NetBSD and OpenBSD versions also supports these options.
If you want to learn more about sed, Cori has suggested this tutorial.