Ini akan melakukan apa yang Anda inginkan:
for f in *; do >$f; done
Anda tidak dapat menggunakan pengalihan (> ) dalam find -exec langsung karena itu terjadi sebelum perintah berjalan dan membuat file bernama {} . Untuk menyiasatinya, Anda perlu melakukannya di shell baru dengan menggunakan sh -c .
Perhatikan juga bahwa Anda tidak perlu cat /dev/null > file untuk mengalahkan file. Anda cukup menggunakan > file .
Coba ini:
find . -type f -exec sh -c '>"{}"' \;