如何使用find命令清除所有文件的内容

是否有一个简单的步骤来清除使用find命令的所有“.log”文件的内容。

目前我使用“echo -n> filename.log”我已经尝试echo -n> /var/application-logs/*.log,但它不工作..

有没有更好的方法来清除多个文件的内容?

要清除一切find /var/application-logs -type f -name "*.log"发现,使用这个:

 find /var/application-logs -type f -name "*.log" -exec tee {} \; </dev/null 

如果您的find版本支持它,请使用+而不是\; 为所有文件使用单一的T恤。 或者,如果一个shell glob就足够了:

 tee /var/application-logs/*.log </dev/null 

如果你想停止日志增长,使用logrotate 。 你不应该因为满的而盲目地擦日志。 有很多好的HOWTO可用于许多不同的发行版。

或者,考虑使用syslog服务器,如rsyslogsyslog-ng