你可以使用以下命令清理日志文件中大小超过 1GB 且带有日期的文件(保留未带日期的日志文件):
find . -type f -name '*2024*.log' -size +1G -exec rm -v {} \;
find .
搜索当前目录及其子目录中的文件。
-type f
仅匹配文件。
-name 'rm-front-*2024-*.log'
匹配带日期格式的日志文件(rm-front-YYYY-MM-DD.log
)。
-size +1G
查找大小超过 1GB 的文件(+1G
表示大于 1GB)。
-exec rm -v {} \;
对找到的文件执行 rm
命令,并使用 -v
输出删除的文件名。
2025
年的日志:可以使用如下命令:
find . -type f \( -name '*2024*.log' -o -name '*2025*.log' \) -size +1G -exec rm -v {} \;
find . -type f -name '*2024*.log' -size +1G
.log
文件,并显示文件大小find . -type f -name '*.log' -size +1G -exec du -h {} \;
2.1G ./rm-front-2024-11-11.0.log
1.5G ./error.log
将以上命令筛选出的文件逐个清空内容:
find . -type f -name '*.log' -size +1G -exec sh -c 'echo "" > "{}"; echo "Cleared: {}"' \;
如果需要同时显示文件大小并清空,可以用以下命令:
find . -type f -name '*.log' -size +1G -exec sh -c 'du -h "{}"; echo "" > "{}"; echo "Cleared: {}"' \;
这个命令会先显示文件大小,然后清空内容,同时确认已清空的文件路径。