- 论坛徽章:
- 766
|
自己实现了一个排序大小比较
- awk 'function cmp(k1,k2){if(k1=="" && k2=="") return 0; if(ord[substr(k1,1,1)]>ord[substr(k2,1,1)]) return 2; else if(ord[substr(k1,1,1)]<ord[substr(k2,1,1)]) return 1; else return cmp(substr(k1,2),substr(k2,2))} BEGIN{for(n=0;n<256;n++)ord[sprintf("%c",n)]=n} {a[NR]=$0} END{for(i=1;i<=NR;i++)for(j=1;j<=NR-i;j++){split(a[j],b1,"#");split(a[j+1],b2,"#");if(cmp(b1[2],b2[2])==2){temp=a[j];a[j]=a[j+1];a[j+1]=temp}};for(i=1;i<=NR;i++)print a[i]}' 1.wu
- & 06~$#2
- & 73~$#2
- & 42~$#2!+-
- & 47~$#2!+-
- & 13~$#2!+-0@
- & 53~$#2!+-0@
- & 82~$#2!+-0@n
- & 96~$#2!+-0H
- & 88~$#2!+-0u
- & 13~$#@r!==v w
- & 24~$#@r!==v== w
- & 34~$#@r!w
复制代码 |
|