Esto hará lo que quieras:
for f in *; do >$f; done
No puede usar la redirección (>
) dentro de find -exec
directamente porque sucede antes de que se ejecute el comando y crea un archivo llamado {}
. Para evitar esto, debe hacerlo en un nuevo shell usando sh -c
.
Además, tenga en cuenta que no necesita cat /dev/null > file
con el fin de clobber un archivo. Simplemente puede usar > file
.
Prueba esto:
find . -type f -exec sh -c '>"{}"' \;