Для полноты здесь версия bash:
for f in **; do [ -f "$f" ] && [ ! -L "$f" ] && >"$f"; done
Для этого требуется включенная опция globstar
(shopt -s globstar
)и, следовательно, как минимум версия bash 4. (Но если вы хотите использовать zsh
, вы, вероятно, также не захотите придерживаться версии Mac OS X по умолчанию..)