最近在eygle网站看到 学习-SQL查询连续号码段的巧妙解法
http://www.eygle.com/archives/2006/09/sql_tips.html
看到oracle 的rownum的技巧,感觉太巧妙了,在其他的地方又没有类似的呢?
在awk 的NR 也具备这个功能,可以判断是否连续
1 awk 的NR
aa.txt
00000001
00000002
00000003
00000004
00000005
00000120
00000121
00000122
00000124
00000125
Check_seq.sh
Count=`Awk ‘{ print $1-NR } aa.txt|sort|uniq|wc –l`
If [ $count –eq “1” ]
Then
Echo “序列是连续的!”
Else
Echo “序列是不连续的!”
Fi
2 应用实例
2.1 检查采集的原始话单序号是否连续,日志是否连续,
1 可以把文件名入库,提取对应序号字段,利用oracle 中rownum检查
2 直接提取文件名序号字段,利用awk中NR检查
2.2 检查日志是否连续
2.3 参数初始化
pro*c 取表的rownum做为结构体数组的下标