-
#!/bin/bash
-
# 读一个连续增加的文件(例如:程序日志)
-
-
file="test.log"
-
cur_line=0
-
total_line=`wc -l $file|awk '{print $1}'`
-
while [ 1 ]
-
do
-
begin_line=`expr $cur_line + 1`
-
end_line=`expr $cur_line + 5`
-
total_line=`wc -l $file|awk '{print $1}'`
-
while [ $total_line -eq $cur_line ]
-
do
-
total_line=`wc -l $file|awk '{print $1}'`
-
echo "no new line, waite....."
-
sleep 1
-
done
-
sed -n "$begin_line,$total_line"p frame.log|while read line
-
do
-
echo $line
-
#cur_line=`expr $cur_line + 1`
-
#let cur_line++
-
done
-
cur_line=$total_line
-
done
cur_line记录当前所读的行数,while循环不断地从cur_line开始读取到文件结束(每次判断total_line,total_line没有变化则sleep)
参考:
shell 传参sed
http://blog.csdn.net/mdming412/article/details/52198341
Shell逐行读取文件的4种方法
shell 如何从某行开始读文件
shell sed 和正则表达式 以及向sed传递参数
shell 的变量作用域
http://blog.csdn.net/zhuboyan123/article/details/39024845
shell中变量自增的实现方法
阅读(624) | 评论(0) | 转发(0) |