代表的なデータセットがあります。
35.5259 327
35.526 326
35.526 325
35.5261 324
35.5262 323
35.5263 322
35.5264 321
35.5265 320
35.5266 319
35.5268 318
# Contour 4, label:
35.5269 317
35.527 316
35.5272 315
35.5274 314
35.5276 313
35.5278 312
35.528 311
# Contour 4, label:
35.5282 310
35.5285 309
35.5287 308
35.529 307
35.5293 306
以下を使用して、2列の範囲で2つの最大値を見つけようとします。
awk '320>$2,$2>315 && $1>max1{max1=$1;line=$2} 313>$2,$2>307 && $1>max2{max2=$1;line2=$2} END {printf " %s\t %s\t %s\t %s\n",max1,line,max2,line2}' FILENAME
(txtファイルにスペースが多いため)空の出力が表示されます。どうすれば無視できますか? $1+0 == $1?
col1では320~315の間、col2では313~307の間の最大値を探したいと思います。必要な出力は次のとおりです。
35.5266 319 35.5278 312
希望の出力をどのように取得できますか?ありがとう
ベストアンサー1
,
に変更すると&&
。
しかし、私はあなたにも論理的なエラーがあると思います。と同じでなければ$1>max1
なりませんか?$2>line1
max2/line2
awk '
320>$2 && $2>315 && $2>line1 {max1=$1;line1=$2}
313>$2 && $2>307 && $2>line2 {max2=$1;line2=$2}
END {printf " %s\t %s\t %s\t %s\n",max1,line1,max2,line2}
' file