我有一個簡單的柱狀圖是這樣的:搜索最小值爲直方圖
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
任何人都可以提出一個很好的解決方案嗎?
我有一個簡單的柱狀圖是這樣的:搜索最小值爲直方圖
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
任何人都可以提出一個很好的解決方案嗎?
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}'
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}'
這可能會爲你工作:
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
感謝,但對於浮點值。我更新了這個要求的帖子... – user1116360 2012-02-17 20:11:00
它接縫,我沒有正確理解問題。即將推出新解 – jfg956 2012-02-17 20:20:24