Я использую gawk на компьютере с Windows с cygwin. То, что я пытаюсь сделать, - найти min и max из трех столбцов, два - lat и lon, а третий - значение.Реальный номер на gawk
Это код:
echo off
for /f "tokens=1,2,3 delims= " %%a in
('gawk "BEGIN {maxc = 0} {maxlo=0} {maxla=0}
{if ($3>maxc) maxc=$3} {if ($1>maxlo) maxlo=$1} {if ($2>maxla) maxla=$2} END
{print maxc, maxlo, maxla}" %file%.projected')
do (
set maxc=%%a
set maxlo=%%b
set maxla=%%c
)
echo max is %maxc%
echo max is %maxla%
echo max is %maxlo%
for /f "tokens=1,2,3 delims= " %%a in
('gawk "BEGIN {minc =1000} {minlo=1000} {minla=1000}
{if ($3<minc) minc=$3} {if ($1<minlo) minlo=$1} {if ($2<minla) minla=$2} END
{print minc, minlo, minla}" %file%.projected')
do (
set minc=%%a
set minlo=%%b
set minla=%%c
)
echo min %minc%
echo min %minla%
echo min %minlo%
Что я получаю:
max is 465.053890
max latitude is 31.846428
max is 34.877658
min 19.976970
min 31.846428
min 34.877658
Минимальные и максимальные одинаковы для долготы и лат. Как я могу сравнить действительные числа?
Возможно, вы можете добавить некоторые фиды и такие, чтобы сделать код более понятным? –