Буду очень признателен за помощь.Я потратил на это почти все утро.
У меня есть данные структурного поля с 1 по 16 следующим образом
4572 1307084940 RDCSWE 2006 1 5 0.28125 0.5 0.125 0.09375 0 0 0 0 0 0
4573 1307101627 RDCSWE 2006 1 5 0.6875 0.125 0.1875 0 0 0 0 0 0 0
4574 1307101642 RDCSWE 2006 1 5 0.5625 0.25 0.03125 0.15625 0 0 0 0 0 0
4575 1307101662 RDCSWE 2006 1 5 0.53125 0.25 0.1875 0.03125 0 0 0 0 0 0
4576 1307127329 RDCSWE 2006 1 5 0.4375 0.34375 0.09375 0.125 0 0 0 0 0 0
Из поля с 7 по 10 мне нужен тест на элементы (в диапазоне0-1) и номер поля.
то есть для каждой записи, проверьте поля 7-10 на максимальное значение,
, если найдено и в поле 7 напечатайте $ 0, $ 6-4
если найдено и в поле 8 выведите $ 0, $ 6-3
, если найдено, а в поле 9 выведите $ 0, $ 6-2
, если найдено, и в поле 10 выведите $ 0, $ 6-1
Я буду так благодарен за помощь.Заранее спасибо
Редактировать (от belisarius)
Просто расшифровка комментария от @ Tumi2002 (автор)
Извините, мое 6-е поле (т.е.$ 6) имеет значения 1-5.
Я пытаюсь переклассифицировать записи, где поле 6 = 5 обратно в 1-4 класса в том же разделе).
Так что вместо 5 классов у меня есть 4.
Awk '$6==5
{for i=7; i<11; i++)
if ($i==max) && NF==7) print $0,$6-4;
if ($i==max) && NF==8) print $0,$6-3;
if ($i==max) && NF==9) print $0,$6-2;
if ($i==max) && NF==10) print $0,$6-1
Я борюсь с синтаксисом в awk