That output would suggest that the shell used was the 'Bourne Shell' (usually at: /bin/sh). I'm betting you were using the 'Bourne Again SHell' (usually at: /bin/bash). You can confirm this by logging in and executing this:
echo $SHELL
from the terminal. You'll get '/bin/bash' (or some other prefix before '/bash') if I'm right.
Now, I'm no *nix shell expert, but I'd guess that if the command works just fine for you from bash yet sh is complaining about it, then the syntax must be different (and/or simply not valid) for the latter.
EDIT: Okay, I said I'm no expert, so can you explain to me why you're doing this:
join <(awk -f onecol.awk f1.txt) <(awk -f onecol.awk f2.txt) > outdouble.txt
rather than just this:
awk -f onecol.awk f1.txt f2.txt > outdouble.txt
?