Questo farà quello che vuoi:
for f in *; do >$f; done
Non puoi utilizzare il reindirizzamento (> ) all'interno di find -exec direttamente perché avviene prima che il comando venga eseguito e crea un file chiamato {} . Per aggirare questo problema devi farlo in una nuova shell usando sh -c .
Inoltre, tieni presente che non è necessario cat /dev/null > file per intasare un file. Puoi semplicemente usare > file .
Prova questo:
find . -type f -exec sh -c '>"{}"' \;