- 论坛徽章:
- 145
|
回复 76# blackold
No any issue here
$ awk --version
GNU Awk 3.1.8
...
Note: OS: ubuntu 12.04 LTS
$ cat F
37 1 - 0
37 13 - 0
37 113 - 0
37 -1 - 0
37 -31 - 0
36 1 - 0
38 1 - 0
13 1 - 0
1 1 - 0
37 1.0 - 0
37 1.1 - 0
37 1.1e-1 - 0
37 1.1e-13 - 0
37 1.1e-12 - 0
37 1.1e-11 - 0
37 -1.1e-1 - 0
37 -1.1e-13 - 0
37 -1.0 - 0
$ awk '{d=$0;k="";for(n=1;n<=NF;n++){if($n=="-")x=9999;else{b=7500;if($n>0){x=log($n)+7500}else{x=2500-log(-$n)};if($n=="0")x=5000};k=sprintf("%s%019.15f,",k,x)}a[k]=a[k]d"\n"}END{t=asorti(a,s);for(n=1;n<=t;n++)printf a[s[n]]}' F
1 1 - 0
13 1 - 0
36 1 - 0
37 -31 - 0
37 -1 - 0
37 -1.0 - 0
37 -1.1e-1 - 0
37 -1.1e-13 - 0
37 1.1e-13 - 0
37 1.1e-12 - 0
37 1.1e-11 - 0
37 1.1e-1 - 0
37 1 - 0
37 1.0 - 0
37 1.1 - 0
37 13 - 0
37 113 - 0
38 1 - 0
|
|