IGD3000系列(一体屏)网关的app和文件系统的打包目录
local/www/cgi-bin/state/query-device
@@ -10,37 +10,30 @@
# 定义要操作的文件
file="/tmp/device_status"
# 生成临时文件
temp_file=$(mktemp)
delete_pattern=$(mktemp)
cat $file
# 获取需要删除的行号范围(前一行+当前行+后三行)
awk '/^[[:space:]]*"id"[[:space:]]*:[[:space:]]*"25[67]"[[:space:]]*,/ {
    start = NR - 1 > 0 ? NR - 1 : 1
        end = NR + 3
            for (i = start; i <= end; i++)
                    print i
                    }' "$file" | sort -nu > "$delete_pattern"
exit
                    
                    # 鎵ц杩囨护骞舵樉绀虹粨鏋
                    awk 'NR == FNR {del[$1]; next} !(FNR in del)' "$delete_pattern" "$file" > $temp_file
num=`wc -l < $temp_file`
if [ $num -gt 2 ]
then
sed -i '$d' $temp_file
sed -i '$d' $temp_file
echo "}
]" >> $temp_file
else
# 文件行数不大于2
echo "[]" > $temp_file
fi
cat $temp_file
                    # 可选:如果要直接修改原文件,取消以下注释
                    # mv "$temp_file" "$file"
# # 生成临时文件
# temp_file=$(mktemp)
# delete_pattern=$(mktemp)
                    
                    # 清理临时文件
                    rm "$delete_pattern" "$temp_file"
# # 获取需要删除的行号范围(前一行+当前行+后三行)
# awk '/^[[:space:]]*"id"[[:space:]]*:[[:space:]]*"25[67]"[[:space:]]*,/ {
#     start = NR - 1 > 0 ? NR - 1 : 1
#         end = NR + 3
#             for (i = start; i <= end; i++)
#                     print i
#                     }' "$file" | sort -nu > "$delete_pattern"
#                     # 执行过滤并显示结果
#                     awk 'NR == FNR {del[$1]; next} !(FNR in del)' "$delete_pattern" "$file" | tee "$temp_file"
#                     # 可选:如果要直接修改原文件,取消以下注释
#                     # mv "$temp_file" "$file"
#                     # 清理临时文件
#                     rm "$delete_pattern" "$temp_file"