是否可以在单个命令(无循环)中清除目录中每个文件的内容?
答案 0 :(得分:13)
这很难看,但它有效:
find . -type f -exec sh -c 'echo -n "" > $1' sh {} \;
这将清除每个子目录中的每个文件。
要清除当前目录中的文件:
for i in *; do cat /dev/null > $i; done
(是的,这是一个循环,但它是一行。)
答案 1 :(得分:7)
使用truncate:
truncate -s 0 directory/* &> /dev/null