Написать Shell-процедуру, принимающую в качестве параметра командной строки имя файла. В каждой строке файла записано по три числа. Процедура должна вывести на экран номер строки, содержащей числа, сумма которых наибольшая. Если таких строк больше одной, то выводятся номера всех строк. Процедура должна проверять наличие файла и корректность его формата.я учусь на гуманитарном фак. Это не мой профильный предмет. Помогите пожалуйста.
>Написать 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
Даже преподаватель нам сказал неужели у вас нет знакомого который может решить эту простую задачу так как нормальных лекции по shell у нас небыло. У меня таких нет потому я и обратился сюда(перед этим искал исходники по shell в инете, но ничего ненашел.). Это последняя 6 лаба в виде задачи. Если я её сдам то навсегда забуду про этот предмет. Так как я учусь на финансы и кредит и в инфо. языках нешарю особенно когда ничего не рассказывают.