[Cas's answer](http://unix.stackexchange.com/a/46290/135943) is good, but it assumes *sane* filenames; in particular it is assumed that filenames will not contain newlines.
There's no good reason to make this assumption here, since it is quite simple (and actually cleaner in my opinion) to handle that case correctly as well:
find . -type f -exec sh -c 'file "$1" | grep -q "ASCII text"' sh {} \; -exec flip -u {} \;
The `find` command only makes use of [POSIX-specified features](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html). Using `-exec` to run arbitrary commands as boolean tests is simple, robust (handles odd filenames correctly), and more portable than `-print0`.
In fact, all parts of the command are specified by POSIX except for `flip`.
Note that `file` doesn't guarantee accuracy of the results it returns. However, in practice grepping for "ASCII text" in its output is quite reliable.