<分区>
我想清空目录中的所有文件。我试过这个:
find myFolderPath/* -exec cat /dev/null > {} ';'
但它不起作用。我该怎么做?
<分区>
我想清空目录中的所有文件。我试过这个:
find myFolderPath/* -exec cat /dev/null > {} ';'
但它不起作用。我该怎么做?
最佳答案
您不能在 find -exec
中直接使用重定向 (>
),因为它发生在命令运行并创建名为 {} 的文件之前
。要解决此问题,您需要使用 sh -c
在新的 shell 中执行此操作。
另外,请注意,您不需要cat/dev/null > file
来破坏文件。您可以简单地使用 > 文件
。
试试这个:
find . -type f -exec sh -c '>"{}"' \;
关于linux命令清空一个目录的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14564850/