Я пишу сценарий awk, который берет несколько столбцов ввода в текстовом файле и выводит наибольшее значение в каждом столбце
Ввод:
$cat numbers
10 20 30.3 40.5
20 30 45.7 66.1
40 75 107.2 55.6
50 20 30.3 40.5
60 30 45.O 66.1
70 1134.7 50 70
80 75 107.2 55.6
Вывод:
80 1134.7 107.2 70
Скрипт:
BEGIN {
val=0;
line=1;
}
{
if( $2 > $3 )
{
if( $2 > val )
{
val=$2;
line=$0;
}
}
else
{
if( $3 > val )
{
val=$3;
line=$0;
}
}
}
END{
print line
}
Текущий вывод:
60 30 45.O 66.1
Что я делаю неправильно, первый скрипт awk
=======РЕШЕНИЕ ======
END {
for (i = 0; ++i <= NF;)
printf "%s", (m[i] (i < NF ? FS : RS))
}
{
for (i = 0; ++i <= NF;)
$i > m[i] && m[i] = $i
}
Спасибо за помощь