Dies wird tun, was Sie wollen:
for f in *; do >$f; done
Sie können die Weiterleitung nicht verwenden (> ) innerhalb von find -exec direkt, weil es passiert, bevor der Befehl ausgeführt wird und eine Datei namens {} erstellt . Um dies zu umgehen, müssen Sie dies in einer neuen Shell tun, indem Sie sh -c verwenden .
Beachten Sie auch, dass Sie cat /dev/null > file nicht benötigen um eine Datei zu schlagen. Sie können einfach > file verwenden .
Versuchen Sie Folgendes:
find . -type f -exec sh -c '>"{}"' \;