- 论坛徽章:
- 0
|
想了半天也没有想出什么好办法,不过下面代码应该能准确无误得出结果
[root@localhost shell]# cat test.txt
100 asdfsdff
1000 asdfsdfsadfsaf
1 asdfsfasf
2 asasdfasf
3 asdfsafdsaf
5 sadfsdfsafsdf
4 assdfsadfsffsdf
6 asdfasdfdsfsaf
7 asdfasfdfasf
8 asdfasdfasdfsdf
1000 asdfasdfasfdaf
[root@localhost shell]# cat test.awk
#!/bin/awk -f
{
tmp[NR] = $0
if (NR > 1)
{
split(tmp[NR-1],arry1)
if ($1 != arry1[1] + 1)
{
if (NR - 1 == 1)
{
print tmp[NR-1]
flag+=1
}else{
flag+=1
}
if (flag > 1)
print tmp[NR-1]
}else{
flag = 0
}
}
}
END{
split(tmp[NR],endarry)
if (endarry[1] != arry1[1] + 1)
print tmp[NR]
}
[root@localhost shell]# ./test.awk test.txt
100 asdfsdff
1000 asdfsdfsadfsaf
5 sadfsdfsafsdf
4 assdfsadfsffsdf
1000 asdfasdfasfdaf |
|