Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想清空目录中的所有文件。我试过这个:
find myFolderPath/* -exec cat /dev/null > {} ';'
但它不起作用。我该怎么做?
您不能直接在其中使用重定向 ( >),find -exec因为它发生在命令运行并创建名为{}. 要解决这个问题,您需要在新的 shell 中使用sh -c.
>
find -exec
{}
sh -c
另外,请注意,您不需要cat /dev/null > file为了破坏文件。您可以简单地使用> file.
cat /dev/null > file
> file
试试这个:
find . -type f -exec sh -c '>"{}"' \;
这将做你想要的:
for f in *; do >$f; done