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 '>"{}"' \;