Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
поисковый робот
 Аватар для cpp_user
30 / 23 / 9
Регистрация: 04.02.2020
Сообщений: 96

awk избавиться от split

10.04.2020, 16:53. Показов 1413. Ответов 3
Метки awk (Все метки)

Лучший ответ Сообщение было отмечено NeoMatrix как решение

Решение

Студворк — интернет-сервис помощи студентам
Здравствуйте
Помогите исправить пожалуйста . Нужно сделать только на AWK
Без split , Иначе не принимают.

Вот задача :

В файле query3 считая, что первое слово в названии товара - название фирмы,
определить фирмы, все товары которых выставлены в продажу в один день

Вот мое решение (делали толпой ):

Bash
1
2
awk -F'!' '{ split($2,a,/[: ]/);  $2=a[1]; !arr[$2" "$5]++ }
END{ for (j in arr)  { split(j,b," ");  names[b[1]]++;} for (n in names)if(names[n]==1) print n}' query3
Ответ:
SB
RH
SP


Вот данные query3

 
100890!ACE TENNIS NET !58 !46.4 !01-JAN-89
100860!ACE TENNIS RACKET I !35 !28 !01-JUN-90
100861!ACE TENNIS RACKET II !45 !36 !01-JUN-90
100870!ACE TENNIS BALLS-3 PACK !2.8 !2.4 !01-JAN-90
100871!ACE TENNIS BALLS-6 PACK !5.6 !4.8 !01-JAN-90
101860!SP TENNIS RACKET !24 !18 !15-FEB-89
101863!SP JUNIOR RACKET !12.5 !9.4 !15-FEB-89
102130!RH: "GUIDE TO TENNIS" !3.4 !2.8 !18-AUG-89
200376!SB ENERGY BAR-6 PACK !2.4 !1.75 !15-NOV-90
200380!SB VITA SNACK-6 PACK !4 !3.2 !15-NOV-90
103120!WIFF SOFTBALL BAT I !25 !20 !01-JUN-90
103121!WIFF SOFTBALL BAT II !30 !24 !01-JUN-90
103130!WIFF SOFTBALL, SMALL !4.2 !3.6 !01-JAN-90
103131!WIFF SOFTBALL, LARGE !4.5 !3.9 !01-JAN-90
103140!WIFF SOFTBALL MITT (LH) !20 !15 !15-FEB-89
103141!WIFF SOFTBALL MITT (RH) !20 !15 !15-FEB-89
102132!RH: "GUIDE TO SOFTBALL" !3.4 !2.8 !18-AUG-89
104350!DUNK BASKETBALL INDOOR !44 !35.3 !01-JUN-90
104351!DUNK BASKETBALL OUTDOOR !26 !20.8 !01-JUN-90
104352!DUNK BASKETBALL PROFESSIONAL!58.3 !40.8 !01-JUN-90
104360!DUNK HOOP !39 !32 !01-JAN-90
104361!DUNK HOOP W/FIBERGLASS BOARD!50 !35 !01-JAN-90
104362!DUNK NETS - RAINBOW !5 !4 !15-FEB-89
102134!RH: "GUIDE TO BASKETBALL" !3.4 !2.8 !18-AUG-89
105123!YELLOW JERSEY BICYCLE HELMET!40 !34 !01-JUN-90
105124!YELLOW JERSEY BICYCLE GLOVES!15 !10 !01-JUN-90
105125!YELLOW JERSEY WATER BOTTLE !3 !2.6 !01-JAN-90
105126!YELLOW JERSEY BOTTLE CAGE !6 !5 !01-JAN-90
105127!YELLOW JERSEY FRAME PUMP !6 !5 !15-NOV-90
105128!YELLOW JERSEY SADDLE PACK !10 !8 !15-NOV-90
102136!RH: "GUIDE TO CYCLING" !3.4 !2.8 !18-AUG-89

Добавлено через 1 час 31 минуту
Понял что можно использовать несколько разделителей

Но как из этого выхлопа удалить повторы ?

Bash
1
awk -F'[! ]' '{ !arr[$2" "$NF]++ }END{ for (n in arr) print n}' query3
SP 15-FEB-89
WIFF 01-JUN-90
ACE 01-JAN-90
DUNK 01-JUN-90
YELLOW 01-JAN-90
RH: 18-AUG-89
YELLOW 15-NOV-90
WIFF 15-FEB-89
ACE 01-JUN-90
DUNK 15-FEB-89
YELLOW 01-JUN-90
SB 15-NOV-90
WIFF 01-JAN-90
DUNK 01-JAN-90
ACE 01-JAN-89

Добавлено через 2 минуты
Просто AWK не знаю . вот вся проблема . давно бы уже сделал на каком нибудь
Java Script ....

Добавлено через 44 минуты
Всё ещё нужна помощь

Добавлено через 39 минут
Решил:

Bash
1
2
3
4
awk -F'[!: ]' '
 !uniq[$2$NF]++{names[$2]++ }END{ 
for (n in names)if(names[n]==1) 
print  n}' query3
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2020, 16:53
Ответы с готовыми решениями:

Метод split - выдается ошибка Uncaught TypeError: Cannot read property 'split' of undefined
Вот кусок кода CheckLinkText: function(val, f){ if(!$('#attach_lnk_stared').val()){ matches = val.split('http://'); url =...

Ошибка awk
Привет, awk выписывает ошибку: awk: 1: unexpected character '.' Пошарил по интернету и заметил, что это распространенная ошибка, но никак...

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

3
505 / 158 / 49
Регистрация: 27.02.2016
Сообщений: 818
10.04.2020, 17:05
cpp_user, попробуйте напишите более внятно на псевдокоде
0
поисковый робот
 Аватар для cpp_user
30 / 23 / 9
Регистрация: 04.02.2020
Сообщений: 96
10.04.2020, 19:29  [ТС]
сообщение было удалено
0
1134 / 391 / 85
Регистрация: 30.08.2017
Сообщений: 2,405
10.04.2020, 19:52
Вот молодца, а то набег печенегов от авк какой-то с требованиями дани в виде скриптов)))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.04.2020, 19:52
Помогаю со студенческими работами здесь

Сценарий на awk
есть текст 1 1 2 3 2/3 2 1 2 3 3/4 3 1 2 3 5/6 4 1 2 3 7/8 независимо от чисел, все числа первого столбца заменить на S...

Переменная в awk
Не выходит передать переменную в awk. Если делаю так, то все работает read -p "Enter Name of interface: " intname read -p...

sed or awk
есть строка вида document.write('Monitor\n'); как сделать вывод слова Monitor Спасибо.

Утилита awk
1. В файле query1 определить сумму зарплаты, которая встречается чаще других. Использовать утилиту awk. 2. В файле query3 считая, что...

Перенаправления, конвейер и awk
Часть первая: Использование перенаправлений и конвейера (программного канала) В созданном текстовом файле первый символ каждой...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru