Re: 请教如何查找最大值?
发表于 : 2011-07-09 22:52
换个写法:
代码: 全选
cat n.t
345 7657 7.78 12345678.123456789123456789123456789
435.5667 -5656.676767 -565567.56576767676
32455.45 -12345678.123456789123456789123456789
grep -o '\-*[0-9\.]*' n.t|sort -n|(a=($(sed -n '1p;$p'|xargs));if [[ ${a[0]/-/} == ${a[1]/-/} ]];then echo ${a[*]};else echo ${a[1]};fi)#这样有漏洞。
改一改:
grep -o '[^ ]*' n.t|sort -nu|sed -n 's/\(^\|-\)/x\1x/;1p;$p'|(a=($(sort -tx -nk3));if [[ ${a[0]/-} == ${a[1]/-} ]];then echo ${a[*]//x};else echo ${a[1]//x};fi)
-12345678.123456789123456789123456789 12345678.123456789123456789123456789
这是什么情况呢?cat n.t|perl -lane '$max=abs($F[1]) if abs($F[1])>$max;END{print$max}'
12345678.1234568