Cela fera ce que vous voulez :
for f in *; do >$f; done
Vous ne pouvez pas utiliser la redirection (>
) dans find -exec
directement car cela se produit avant que la commande ne s'exécute et crée un fichier appelé {}
. Pour contourner ce problème, vous devez le faire dans un nouveau shell en utilisant sh -c
.
Notez également que vous n'avez pas besoin de cat /dev/null > file
afin de saboter un fichier. Vous pouvez simplement utiliser > file
.
Essayez ceci :
find . -type f -exec sh -c '>"{}"' \;