#!/bin/sh
|
# 查询设备通讯状态
|
echo -en "Content-type: text/html; charset=utf-8\n\n"
|
#*****************************************************
|
source ../bin/env.sh
|
|
db="../bin/db"
|
|
|
# 定义要操作的文件
|
file="/tmp/device_status"
|
|
# 生成临时文件
|
temp_file=$(mktemp)
|
delete_pattern=$(mktemp)
|
|
# 获取需要删除的行号范围(前一行+当前行+后三行)
|
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"
|
|
|