- 論壇徽章:
- 0
|
也問一個(gè)關(guān)于awk行過濾的問題
感謝admirer,不過結(jié)果還是有點(diǎn)兒?jiǎn)栴}:并不是所有連續(xù)的數(shù)據(jù)段都被合并了
root@hailerer# cat a | awk -F: '{a=$1;b=$2;getline;if($1==b+1){printf"%s:%s\n",a,$2}else{printf"%s:%s\n%s:%s\n",a,b,$1,$2;a=$1;b=$2}}'
243452:294911
294912:360447
360448:425983
425984:491519
491520:499452
521100:698714
根據(jù)您提供的思路略作了一下修改
root@hailerer#cat a|awk -F: '{while(1){a=$1;b=$2;getline;c=$1;d=$2;if(a==c && b==d){print c,d;break;};while(1){if(b+1==c){b=d;getline; c=$1;d=$2; }else{print a,b;a=c;b=d;break}}}}'
243452 499452
521100 698714
不知誰(shuí)還有更簡(jiǎn)單的方法?請(qǐng)?zhí)蟻?lái)共同分享。 |
|