Toto udělá, co chcete:
for f in *; do >$f; done
Nemůžete použít přesměrování (>
) v rámci find -exec
přímo, protože k tomu dojde před spuštěním příkazu a vytvořením souboru s názvem {}
. Chcete-li to obejít, musíte to udělat v novém prostředí pomocí sh -c
.
Také si uvědomte, že nemusíte cat /dev/null > file
za účelem zablokování souboru. Můžete jednoduše použít > file
.
Zkuste toto:
find . -type f -exec sh -c '>"{}"' \;