Bash编辑文件并保留最后500行

我正在寻找创build一个cron作业,打开一个目录循环通过我创build的所有日志,并删除所有行,但保持最后500例如。

我正在想着一些事情

尾部-n 500文件名>文件名

这会工作吗?

我也不知道如何循环在bash中的目录

提前致谢。

for file in *; do tail -n 500 filename > filename2 && mv filename2 filename ; done 

写入您正在阅读的文件不是一个好主意。 我的解决scheme也不好,因为你可能会失去日志之间的尾巴和MV命令。
但不pipe怎么说

 for file in *; 

是循环目录文件的一种方式。

但是,为什么你不使用logrotate?

你有没有听说过logrotate? 我认为擦除日志并不好。