用awk进行逐行对比,发现pageindex数值相同的则删除该行?

第二行与第一行进行比较,如果pageindex数值相同则删去第二行,如果不相同则保留。两行不相同都保留的情况下,第三行再与上一行相比较,相同删除,不相同保留... 第二行与第一行进行比较,如果pageindex数值相同则删去第二行,如果不相同则保留。两行不相同都保留的情况下,第三行再与上一行相比较,相同删除,不相同保留 展开
 我来答
albumin
推荐于2016-07-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2407万
展开全部
BEGIN{
FS="&"
}
NR==1 {
    count=split($3,a,"=")
    old=a[count]+0
    line=$0
    isdel=0
}
NR>1 {
count=split($3,a,"=")
new=a[count]+0
if(!isdel)
{
    arr[row++]=line
    if(old!=new)
        isdel=0
    else 
        isdel=1    
}
else
    isdel=0
final=old
old=new
line=$0
}
END{
split(line,b)
count=split(b[3],a,"=")
new=a[count]+0
if(final==new&&!isdel||final!=new)
    arr[row++]=line
for(i=0;i<row;i++)
    print arr[i]
}
追问
可以简单的解释下么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式