与えられたデータから最大の正数を探しますか?

与えられたデータから最大の正数を探しますか?

誰かがawk、sed、またはいくつかのUnixシェルプログラムを使用して最大の正数を見つける方法を教えてください。私はLinux RHELとKSHを使用しています。入力には8つのデータ列があり、N / Aは可能な値の1つです。

SAMPLE INPUT

1252.2          1251.8          N/A             N/A 
-31.9           -33.2           N/A             N/A 
-1172.4         -1174.4         N/A             N/A 
-6.5            -6.4            N/A             N/A 
-.3             -.3             N/A             N/A 
1351.8          1351.8          N/A             N/A 
38.3            38.0            N/A             N/A 
-21.6           -21.9           N/A             N/A 
-4.7            -4.5            N/A             N/A 
-5.0            -2.9            N/A             N/A 
3.1             3.3             N/A             N/A 
-20.1           -20.3           N/A             N/A 
-199.1          -199.3          N/A             N/A 
346.5           346.7           N/A             N/A 
-.8             -.4             N/A             N/A 
14.8            14.7            N/A             N/A 
8.4             8.4             N/A             N/A 
-18.2           -18.2           N/A             N/A 
-43.7           -43.6           N/A             N/A 

希望の出力

Largest number is 1351.8

ベストアンサー1

Awk を使用してN/A項目の数値計算を強制します。

awk '{for (i=1;i<=NF;i++) max = $i+0 > max ? $i : max} END{print "Largest number is " max}' data

おすすめ記事