Using bash:
shopt -s globstar dos2unix ** The globstar shell option in bash enables the use of the ** glob. This works just like * but matches across / in pathnames (hence matching names in subdirectories too). This would work in a directory containing a moderate number of files in its subdirectories (not many thousands).
In the zsh and yash shells (with set -o extended-glob in yash), you would do
dos2unix **/* In the zsh shell, you could restrict the matching by the globbing pattern to only regular files by using a glob modifier:
dos2unix **/*(.)