Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: AWK  (Прочитано 593 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ghost675

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
AWK
« : 29 Ноября 2015, 16:49:22 »
В файле query1 определить количество сотрудников на каждой должности
« Последнее редактирование: 29 Ноября 2015, 17:04:21 от Ghost675 »

Оффлайн RUstorm

  • Активист
  • *
  • Сообщений: 701
    • Просмотр профиля
Re: AWK
« Ответ #1 : 29 Ноября 2015, 18:55:20 »
#!/bin/bash
a=`cat query1.txt | awk '{print $2 "-" $5}'| grep CLERK | wc -l`
echo Clerk $a

b=`cat query1.txt | awk '{print $2 "-" $5}'| grep SALESPERSON | wc -l`
echo Salesperson $b

c=`cat query1.txt | awk '{print $2 "-" $5}'| grep MANAGER | wc -l`
echo Manager $c

d=`cat query1.txt | awk '{print $2 "-" $5}'| grep STAFF | wc -l`
echo Staff $d

e=`cat query1.txt | awk '{print $2 "-" $5}'| grep ANALYST | wc -l`
echo Analyst $e

f=`cat query1.txt | awk '{print $2 "-" $5}'| grep PRESIDENT | wc -l`
echo President $f

Получится вот что
Clerk 7
Salesperson 10
Manager 7
Staff 2
Analyst 4
President 1

Но я плохо знаю bash дождитесь других советов

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: AWK
« Ответ #2 : 29 Ноября 2015, 22:27:35 »
Код: (bash) [Выделить]
awk '{A[$5]++}END{for(i in A)print i, A[i]}' query1.txt
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.118 секунд. Запросов: 26.