URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7729
[ Назад ]

Исходное сообщение
"Помогите написать shell-процедуру (легкая)"

Отправлено prodigy007 , 28-Ноя-08 11:59 
Написать Shell-процедуру, принимающую в качестве параметра командной строки имя файла. В каждой строке файла записано по три числа. Процедура должна вывести на экран номер строки, содержащей числа, сумма которых наибольшая. Если таких строк больше одной, то выводятся номера всех строк. Процедура должна проверять наличие файла и корректность его формата.

я учусь на гуманитарном фак. Это не мой профильный предмет. Помогите пожалуйста.


Содержание

Сообщения в этом обсуждении
"разрешите -- бегом?!"
Отправлено Andrey Mitrofanov , 28-Ноя-08 12:31 
>Написать Shell-процедуру, принимающую в качестве параметра командной строки имя файла. В каждой
>строке файла записано по три числа. Процедура должна вывести на экран
>номер строки, содержащей числа, сумма которых наибольшая. Если таких строк больше
>одной, то выводятся номера всех строк. Процедура должна проверять наличие файла
>и корректность его формата.

Вот так ничего, нормально? Ещё пожелания?

#!/bin/sh

procedura() {
if ! [ -r "$1" ]; then echo "А где файл???" >&2; return 1; fi
if ! awk <"$1" '/^$/{next}!/^[0-9]+ [0-9]+ [0-9]+$/{exit 1}{print $1+$2+$3" "NR}'; then
  echo "Формат файла неверен???" >&2; return 1
fi |sort -n -k1,1r -k2,2 |awk '!max{max=$1}{if($1==max)print $2;else exit 0}'
}

procedura "$1"

Вы уже чему-нибудь научились? http:/openforum/vsluhforumID9/7700.html#17


"На самом деле это не мой профильный  предмет."
Отправлено prodigy007 , 28-Ноя-08 14:16 
Даже преподаватель нам сказал неужели у вас нет знакомого который может решить эту простую задачу так как нормальных лекции по shell у нас небыло. У меня таких нет потому я и обратился сюда(перед этим искал исходники по shell в инете, но ничего ненашел.). Это последняя 6 лаба в виде задачи. Если я её сдам то навсегда забуду про этот предмет. Так как я учусь на финансы и кредит и в инфо. языках нешарю особенно когда ничего не рассказывают.