Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 9
1

Доработать скрипт awk

18.12.2015, 17:14. Показов 1602. Ответов 5
Метки нет (Все метки)

Задание:
3. В файле query2 определить для каждого штата число покупателей, в названии которых есть "SPORT" и выводить среднее число кредита. Кредит находится в последнем столбце(5000, 10000,7000, 3000...т.д)
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#! /usr/bin/awk -f
BEGIN {FS=":";countState=0;bufState[0]="";}
END { \
    for(j=0;j<countState;j++){ \
        printf("Число покупателей ,в названии которых есть  SPORT штата %s равно %s\n",bufState[j],buf[bufState[j]]); \
    } \
}
/.*:.*SPORT/ { \
    flag=0;
    for(i=0;i<countState;i++){ \
        if(bufState[i]==$5){flag=1;break;} \
    } \
    if(flag!=1){ \
        bufState[countState]=$5; \
        buf[$5]=0; \
        countState++; \
    } \
    buf[$5]++; \
}
Сам файл:
Query2
Код
100:JOCKSPORTS                :345 VIEWRIDGE        :BELMONT        :CA:96711:5986609:5000
101:TKB SPORT SHOP            :490 BOLI RD.         :REDWOOD CITY   :CA:94061:3681223:10000
102:VOLLYRITE                 :9722 HAMILTON        :BURLINGAME     :CA:95133:6443341:7000
103:JUST TENNIS               :HILLVIEW MALL        :BURLINGAME     :CA:97544:6779312:3000
104:EVERY MOUNTAIN            :574 SURRY RD.        :CUPERTINO      :CA:93301:9962323:10000
105:K + T SPORTS              :3476 EL PASEO        :SANTA CLARA    :CA:91003:3769966:5000
106:SHAPE UP                  :908 SEQUOIA          :PALO ALTO      :CA:94301:3649777:6000
107:WOMENS SPORTS             :VALCO VILLAGE        :SUNNYVALE      :CA:93301:9674398:10000
108:NORTH WOODS HEALTH CENTER :98 LONE PINE WAY     :HIBBING        :MN:55649:5669123:8000
201:STADIUM SPORTS            :47 IRVING PL.        :NEW YORK       :NY:10003:5555335:10000
202:HOOPS                     :2345 ADAMS AVE.      :LEICESTER      :MA:01524:5557542:5000
203:REBOUND SPORTS            :2 E. 14TH ST.        :NEW YORK       :NY:10009:5555989:10000
204:THE POWER FORWARD         :1 KNOTS LANDING      :DALLAS         :TX:75248:5550505:12000
205:POINT GUARD               :20 THURSTON ST.      :YONKERS        :NY:10956:5554766:3000
206:THE COLISEUM              :5678 WILBUR PL.      :SCARSDALE      :NY:10583:5550217:6000
207:FAST BREAK                :1000 HERBERT LN.     :CONCORD        :MA:01742:5551298:7000
208:AL AND BOB'S SPORTS       :260 YORKTOWN CT.     :AUSTIN         :TX:78731:5557631:4000
211:AT BAT                    :234 BEACHEM ST.      :BROOKLINE      :MA:02146:5557385:8000
212:ALL SPORT                 :1000 38TH ST.        :BROOKLYN       :NY:11210:5551739:6000
213:GOOD SPORT                :400 46TH ST.         :SUNNYSIDE      :NY:11104:5553771:5000
214:AL'S PRO SHOP             :45 SPRUCE ST.        :SPRING         :TX:77388:5555172:8000
215:BOB'S FAMILY SPORTS       :400 E. 23RD          :HOUSTON        :TX:77026:5558015:8000
216:THE ALL AMERICAN          :547 PRENTICE RD.     :CHELSEA        :MA:02150:5553047:5000
217:HIT, THROW, AND RUN       :333 WOOD COURT       :GRAPEVINE      :TX:76051:5552352:6000
218:THE OUTFIELD              :346 GARDEN BLVD.     :FLUSHING       :NY:11355:5552131:4000
221:WHEELS AND DEALS          :2 MEMORIAL DRIVE     :HOUSTON        :TX:77007:5554139:10000
222:JUST BIKES                :4000 PARKRIDGE BLVD. :DALLAS         :TX:75205:5558735:4000
223:VELO SPORTS               :23 WHITE ST.         :MALDEN         :MA:02148:5554983:5000
224:JOE'S BIKE SHOP           :4500 FOX COURT       :GRAND PRARIE   :TX:75051:5559834:6000
225:BOB'S SWIM, CYCLE, AND RUN:300 HORSECREEK CIRCLE:IRVING         :TX:75039:5558388:7000
226:CENTURY SHOP              :8 DAGMAR DR.         :HUNTINGTON     :NY:11743:5553006:4000
227:THE TOUR                  :2500 GARDNER RD.     :SOMERVILLE     :MA:02144:5556673:5000
228:FITNESS FIRST             :5000 85TH ST.        :JACKSON HEIGHTS:NY:11372:5558710:4000
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2015, 17:14
Ответы с готовыми решениями:

Скрипт awk
Здравуствуйте как вот в этом скрипте awk -F'!' '{print $2,$5}' query3 | awk ' {a=&quot;01-JAN-90&quot;;}{if...

Как запустить *.awk скрипт для обработки вывода tail -f
Нужно чтобы журнал /var/log/iptables.log распарсивался в реальном времени с помощью скрипта AWK....

Доработать скрипт, проверяющий существование файлов, введенных в командной строке
И еще вопрос. Написал скрипт, который проверяет существование файлов введенных в командной строке....

Доработать скрипт
Скажите, пожалуйста, как сделать чтобы скрипт перебирал все cb и input с любым индексом, т.е. нужно...

5
Модератор
Эксперт NIX
2785 / 2033 / 680
Регистрация: 02.03.2015
Сообщений: 6,514
18.12.2015, 17:41 2
Что означает "доработать"? Среднюю величину кредита выводить для кого (для штата, для фирм с названием СПОРТ в штате, …)?
0
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 9
18.12.2015, 17:57  [ТС] 3
Для фирм с названием СПОРТ в штате
0
Модератор
Эксперт NIX
2785 / 2033 / 680
Регистрация: 02.03.2015
Сообщений: 6,514
18.12.2015, 18:19 4
Лучший ответ Сообщение было отмечено Fobin как решение

Решение

Код
#! /usr/bin/awk -f
BEGIN {
    FS=":"
}
$2 ~ /SPORT/ {
    Count[$5]++
    Credit[$5] += $8
}
END {
    for(i in Count)
        printf("Для штата %s покупателей,\
 в названии которых есть SPORT: %d,\
 их средняя сумма кредита: %d \n", 
            i,
           Count[i],
           Credit[i] / Count[i])
}
2
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 9
18.12.2015, 18:32  [ТС] 5
А, как это с моим скриптом совместить, можете объяснить пожалуйста? А то у меня не вышло.
0
Модератор
Эксперт NIX
2785 / 2033 / 680
Регистрация: 02.03.2015
Сообщений: 6,514
18.12.2015, 18:37 6
Зачем совмещать? Код вполне самодостаточный.
Bash
1
awk -f code_file query2
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2015, 18:37

Доработать скрипт
Подскажите как изменить скрипт, на данный момент слайдер листается 1 по 4 , потом резко...

Доработать скрипт
Есть скрипт который меняет картинки через интервал времени, очень нужно добавить надписи к...

Доработать скрипт
Доброго времени суток! В общем есть скрипт, который проверяет баланс на симке 3G модема под Linux...

Как доработать скрипт
ЕСТЬ СКРИПТ ЦИТАТНИКА QUOTESS Как к нему добавить, ещё скажем так раздел анекдотов с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.