前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

自动显示文件最大行数(Linux-shell)

在特定的背景下,我们发现会出现一些奇奇怪怪的需求。

就比如我现在的需求。有个ip.json的文本,会有程序一直往里面写入数据,还要限制数据在5000行,多了的要删除掉。而且必须是删除最前面行的数据。

思来想去就只能写个shell脚本定时运行。

脚本是检查ip.json的行数,如果超过5000行就删除前面行的数据。使用定时任务进行定期运行脚本。

#!/bin/bash
# 设置文件路径和行数限制
FILE_PATH="/usr/share/nginx/html/ip.json"
LINE_LIMIT=5000

# 检查文件是否存在,不存在则创建
if [ ! -f "$FILE_PATH" ]; then
   touch "$FILE_PATH"
fi

# 检查文件行数是否超过限制,超过则删除多余的行
line_count=$(wc -l < "$FILE_PATH")
if [ "$line_count" -gt "$LINE_LIMIT" ]; then
   delete_count=$((line_count - LINE_LIMIT))
   sed -i "1,${delete_count}d" "$FILE_PATH"
fi

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言