如何在 bash 中清空一堆文件的最佳方法是什么?到目前为止,我一直在这样做
echo "" > development.log
echo "" > production.log
我真的不想删除这些文件,所以rm
是不可能的。我尝试了很多事情,比如
echo "" > *.log
但没有任何效果。
如何在 bash 中清空一堆文件的最佳方法是什么?到目前为止,我一直在这样做
echo "" > development.log
echo "" > production.log
我真的不想删除这些文件,所以rm
是不可能的。我尝试了很多事情,比如
echo "" > *.log
但没有任何效果。
你不需要回声。只是
将清空文件。要编辑 rassie...
引号和方括号是首选,因为它们可以正确处理包含空格或特殊字符的文件。
只是为了好玩,另一个结合 Eric Dennis
find
和其他人重定向的变体:请注意,如果您确实希望清空文件,则必须完全不使用 echo,请参见上文,或传递 echo -n 标志(echo -n)
或者,如果你想递归:
一个循环可以做:
解决方案:
echo -n | tee *.log
说明:
echo -n
将空字符串回显到标准输出;而tee *.log
像您希望的那样使用宽卡将标准输出写入多个文件。这也将起作用。