11

是否可以在单个命令(无循环)中清除目录中每个文件的内容?

4

2 回答 2

14

使用截断:

truncate -s 0 directory/* &> /dev/null
于 2013-03-16T00:37:44.633 回答
13

这很丑陋,但它有效:

find . -type f -exec sh -c 'echo -n "" > $1' sh {} \;

这将清除每个子目录中的每个文件。

只清除当前目录中的文件:

for i in *; do cat /dev/null > $i; done

(是的,这是一个循环,但它是一条线。)

于 2013-03-16T00:27:31.017 回答