|
|
发表于 2023-5-10 12:01:00
|
显示全部楼层
回复 1# gg20100109
如不介意第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )
命令行窗口方式执行:
- gawk "NR==1{printf("%s",$0);a=0;b=$0;next}++b==$0{a=1;next}a{printf("-%s",b-1)}{printf("\n%s",$0);a=0;b=$0}END{if(a){printf("-%s",b)}}" input.txt>output.txt
复制代码 写进脚本方式执行
- gawk "NR==1{printf("%%s",$0);a=0;b=$0;next}++b==$0{a=1;next}a{printf("-%%s",b-1)}{printf("\n%%s",$0);a=0;b=$0}END{if(a){printf("-%%s",b)}}" input.txt>output.txt
复制代码 注意,楼主的数据样本中缺少了10000005项,故上述脚本的实际结果为:
10000001-10000004
10000006
11000008-11000009
12000010
13000011
14000013 |
|