请教linux下的shell的编写,文本内容没发生变化时告警

来源:百度知道 编辑:UC知道 时间:2024/05/28 12:54:41
系统接收字符串,并存储在文本内,

想要实现:当文本不再接收到含有“local”标识的字符串时,pc喇叭报警。 此外,如何实现这个检测只在白天8点到12点之间运行啊??

初学者,刚刚开始学这个,研究了很久,写了下面的脚本,实在是怎么调试都通不过,也不知道怎么改,求助高手帮忙指正一下,谢谢那!!!
#!/bin/sh
b="b"
d="d"
while ["$b"!="$d"]
do
cat * |grep local >a
tail -1 a>$b
sleep 60
cat * |grep local >c
tail -1 c>$d
done
echo -e '\07'

(系统会不定期发出含有local的字符串,并生成文本,在旧文本达到一定大小后,生成新的文本继续存储这些字符串)

(我的想法是,初始化2个不同的字符串,系统检测到字符串不同时,检索当前目录下的所有包含local字符串的文本,并将包含字符串的最后一条文本存储到字符串b,每隔1分钟再做同样的检测,如果系统没有再次收到包含local字符串的信息时,退出循环告警。不知道想法可行不?)

多谢各位高手了!!!!

多谢啊!!

“系统会不定期发出含有local的字符串,并生成文本,在旧文本达到一定大小后,生成新的文本继续存储这些字符串”,“如果系统没有再次收到包含local字符串的信息时”,这样至少要判断哪个文件新吧,旧文件就不用管了。

还是没太明白你的意思

楼主还不如直接描述你的意图好点