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

Исходное сообщение
"помогите с  awk"

Отправлено sergey21 , 10-Янв-13 16:16 
здравствуйте. может кто-то знает, как решить данные задания. Очень срочно надо
1.    В файле query4 определить среднюю сумму заказа для 1990 г.
2.    В файле query4 определить количество пяродаж для каждого продавца
пример файла указан ниже
http://s100.fotosklad.org.ua/20130110/84c4c67a48e5eeadca90b5...

Содержание

Сообщения в этом обсуждении
"помогите с  awk"
Отправлено Andrey Mitrofanov , 10-Янв-13 17:07 
> здравствуйте. может кто-то знает, как решить данные задания. Очень срочно надо
> 1.    В файле query4 определить среднюю сумму заказа для
> 1990 г.

Всем отделом продаж с 90-го мучаетесь? Поделом.


"помогите с  awk"
Отправлено allez , 11-Янв-13 23:06 
>> здравствуйте. может кто-то знает, как решить данные задания. Очень срочно надо
>> 1.    В файле query4 определить среднюю сумму заказа для
>> 1990 г.
> Всем отделом продаж с 90-го мучаетесь? Поделом.

Сдается мне, что не отделом, а факультетом. :-)


"помогите с  awk"
Отправлено sergey21 , 12-Янв-13 02:49 
> Сдается мне, что не отделом, а факультетом. :-)

Все верно. В конце семестра преподаватель решил выпендрится и дал такое задание, при том, что мы awk не проходили. Но он решил, что это обязательно и отказывается ставить зачет


"помогите с  awk"
Отправлено stereoPANDA , 11-Янв-13 14:32 
Пришлите этот файл текстом, а не картинкой, я вам помогу.



"помогите с  awk"
Отправлено sergey21 , 11-Янв-13 17:03 
> Пришлите этот файл текстом, а не картинкой, я вам помогу.

структура файла http://s100.fotosklad.org.ua/20130111/59b6a08028adb0d6ee0039...
Содержимое файла query4
612 ALLEN  104 15-JAN-91 5860
605 WARD   106 14-JUL-90 8374
620 TURNER 100 12-MAR-91 4450
613 TURNER 108 01-FEB-91 6400
614 MARTIN 102 01-FEB-91 23940
617 TURNER 105 05-FEB-91 46370
618 MARTIN 102 15-FEB-91 3083
549 PETERS 226 27-DEC-90 1620
516 PETERS 228 30-SEP-89 1815
553 PETERS 228 02-FEB-91 4400
526 WEST   221 04-MAR-90 7700
543 WEST   221 04-SEP-90 8400
555 WEST   221 04-MAR-91 8540
528 WEST   224 24-MAR-90 3770
558 WEST   224 31-MAR-91 1700
565 ROSS   227 01-JUN-91 4900
574 SHAW   201 10-OCT-91 1685
576 SHAW   201 13-OCT-91 2058.9
503 SHAW   201 25-MAR-89 1876
518 SHAW   201 20-OCT-89 2932.5
544 ROSS   202 11-SEP-90 2358
524 ROSS   202 22-FEB-90 1979
562 SHAW   203 04-MAY-91 2044.5
578 DUNCAN 204 19-NOV-91 2275.6
536 SHAW   206 21-MAY-90 2135.6
542 DUNCAN 208 11-AUG-90 2409
573 SHAW   201 10-OCT-91 1627
566 SHAW   201 09-JUN-91 3389.2
527 DUNCAN 204 27-FEB-90 3054.4
522 DUNCAN 204 07-JAN-90 2578.8
569 SHAW   205 16-JUL-91 2073
550 SHAW   205 27-JAN-91 2356
561 ROSS   207 20-APR-91 2558.3
506 DUNCAN 208 27-APR-89 2600.4
530 DUNCAN 208 03-APR-90 3026.5
557 DUNCAN 208 08-MAR-91 2461.8
546 DUNCAN 208 17-OCT-90 3663


"помогите с  awk"
Отправлено stereoPANDA , 11-Янв-13 17:58 
> здравствуйте. может кто-то знает, как решить данные задания. Очень срочно надо
> 1.    В файле query4 определить среднюю сумму заказа для
> 1990 г.

cat query4 | grep "\-90" | awk 'NR > 0 { s +=$5 }; END {print s/NR}'  

> 2.    В файле query4 определить количество пяродаж для каждого
> продавца

for NAME in  $(cat query4| awk '{print $2}' |sort | uniq) ; do cat query4 | grep $NAME | echo $NAME $(wc -l) ; done

3. И, черт возьми, сколько принес каждый продавец:(невнимательно прочитал 2 задание и понял его так)

for NAME in  $(cat query4| awk '{print $2}' |sort | uniq) ; do cat query4 | grep $NAME | awk 'NR > 0 { s +=$5 }; END {print $2,s}'; done




"помогите с  awk"
Отправлено sergey21 , 11-Янв-13 19:52 
спасибо большое за помощь


"помогите с  awk"
Отправлено стереоПАНДА , 11-Янв-13 20:16 
> спасибо большое за помощь

Да что уж там.


"помогите с  awk"
Отправлено Andrey Mitrofanov , 12-Янв-13 00:12 
>> здравствуйте. может кто-то знает, как решить данные задания. Очень срочно надо
>> 1.    В файле query4 определить среднюю сумму заказа для
>> 1990 г.
> cat  | grep  | awk

2 в одном. Useless use of cat + useless use of grep. Плохому учишь? Бесполезно, оно не научится.

>> 2.    В файле query4 определить количество пяродаж для каждого
>> продавца
> for NAME in  $(cat query4| awk '{print $2}' |sort | uniq)
> ; do cat query4 | grep $NAME | echo $NAME $(wc
> -l) ; done

Бы-гы-ы... Хорошо, что я чай уже допил! Нельзя же так,  for-cat-awk-sort-uniq+cat-grep-... ммм... вместо _1_ awk!?? [Но, да, |echo "$(wc)" - приятно!]

> 3. И, черт возьми, сколько принес
> for NAME in  $(cat query4| awk

_1_ awk снова, но "мы вам про них не расскажем".


"помогите с  awk"
Отправлено стереоПАНДА , 12-Янв-13 01:29 
1



"помогите с  awk"
Отправлено Milker , 27-Фев-13 01:34 
>[оверквотинг удален]
>>> 2.    В файле query4 определить количество пяродаж для каждого
>>> продавца
>> for NAME in  $(cat query4| awk '{print $2}' |sort | uniq)
>> ; do cat query4 | grep $NAME | echo $NAME $(wc
>> -l) ; done
> Бы-гы-ы... Хорошо, что я чай уже допил! Нельзя же так,  for-cat-awk-sort-uniq+cat-grep-...
> ммм... вместо _1_ awk!?? [Но, да, |echo "$(wc)" - приятно!]
>> 3. И, черт возьми, сколько принес
>> for NAME in  $(cat query4| awk
> _1_ awk снова, но "мы вам про них не расскажем".

Что только народ не придумает, лишь бы не использовать массивы в awk. Или просто не знают?


"помогите с  awk"
Отправлено Стрпнд , 27-Фев-13 13:34 
>[оверквотинг удален]
>>> for NAME in  $(cat query4| awk '{print $2}' |sort | uniq)
>>> ; do cat query4 | grep $NAME | echo $NAME $(wc
>>> -l) ; done
>> Бы-гы-ы... Хорошо, что я чай уже допил! Нельзя же так,  for-cat-awk-sort-uniq+cat-grep-...
>> ммм... вместо _1_ awk!?? [Но, да, |echo "$(wc)" - приятно!]
>>> 3. И, черт возьми, сколько принес
>>> for NAME in  $(cat query4| awk
>> _1_ awk снова, но "мы вам про них не расскажем".
> Что только народ не придумает, лишь бы не использовать массивы в awk.
> Или просто не знают?

Не знаю, расскажите?


"помогите с  awk"
Отправлено Andrey Mitrofanov , 27-Фев-13 16:45 
> Не знаю, расскажите?

$ man awk|grep -i array