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