I'm sure I've seen a nicely crossplatform command-line tool for this, but I can't seem to find it. The closest (by support for non-poll APIs) seems to be 'simplefilewatcher'[1], but that's just a C++ library.
incron, inotify, filewatcher[2], puncher[3], guard[4] are a bunch of existing ones, but they're all either not entirely functional cross-platform, or require some faffing with dependencies to get working.