Using watch with pipes
Surround the command with quotes
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
I might be wrong, but wouldn't this achieve the same thing (viewing matching log lines as they get added) more simply?
tail -f -n 200 log/site_dev.log | grep Doctrine
You can surround the command with quotes:
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
If the command has quotes in it, you can use a different type of quotes with appropriate escaping:
watch -n 1 $'tail -n 200 log/site_dev.log | fgrep \'Doctrine.*\''
If you are trying to do something really clever, put the command or commands in a script and use that with watch:
cat <<EOF >/tmp/watch-command
tail -n 200 $(pwd)/log/site_dev.log | fgrep Doctrine
EOF
chmod +x /tmp/watch-command
watch /tmp/watch-command
Make sure to account for relative paths if necessary.