2012-02-17 18 views
1

の最小を探す:私はこのような単純なヒストグラム持つヒストグラム

1.5 1.34 
2.5 5.23 
3.5 7.34 
4.5 4.23 
5.5 3.23 
6.5 2.22 
7.5 1.94 
8.5 5.43 
9.5 9.13 

を私が最初に最大谷の後である第二列の最小谷を見つけ、最初の対応する値をプリントアウトする必要があります列。だから私はこの出力を取得する必要があります:

7.5 1.94 

誰もこのためのいい解決策を提案できますか?

答えて

2
awk 'NR == 1 {mx=$1;my=$2} 
    $2 < my {mx=$1;my=$2} 
    $2 == my && $1 > mx {mx=$1;my=$2} 
    END{print mx " " my}' 
+0

おかげで、しかし、何についての浮動小数点値を。私はこの要件の投稿を更新しました... – user1116360

+0

問題を正しく理解していなかったのは縫い目です。新しいソリューションが登場します。 – jfg956

1
awk 'NR == 1 {my=$2;max_found=0} 
    !max_found && $2 > my {my=$2} 
    !max_found && $2 < my {mx=$1;my=$2;max_found=1} 
    max_found && $2 < my {mx=$1;my=$2} 
    max_found && $2 > my {exit} 
    END{print mx " " my}' 
1

これはあなたのために働くかもしれない:

sort -k2,2n file | awk 'NR<2{max=$1} FNR<NR && $2>=max{print;exit}' file - 

またはこの:

awk 'NR<2{max=$1}$2<max{next}min==0{line=$0;min=$2}$2<min{line=$0;min=$2}END{print line}' file 
関連する問題