什么是最好的方法如何清空bash中的一堆文件? 至今我一直在这样做
echo "" > development.log echo "" > production.log
我真的不想删除这些文件,所以rm是不可能的。 我尝试了很多东西
echo "" > *.log
但没有任何工作。
你不需要回声。 只是
>filename
将清空文件。 编辑rassie …
for FILE in *.log do >"${FILE}" done
引号和括号是首选,因为它们将正确处理文件中的空格或特殊字符。
只是为了好玩,另一个变化结合埃里克丹尼斯find与其他人的redirect:
find . -name "*.log" -exec sh -c ">{}" \;
for i in *.log; do > $i; done
请注意,如果您真的想要清空这些文件,则必须完全不使用回显 ,请参阅上面的内容或传递-n标志( echo -n )
循环可以做到:
for i in *.log; do echo "" > $i; done
for i in *.log; do cp /dev/null $i; done
或者,如果你想recursion:
find . -name "*.log" -exec cp /dev/null {} \;