awk, sed, grep?

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Закрыто
no avatar

Автор темы
Anonim19992
Сообщения: 132
Зарегистрирован: 16 ноя 2016, 11:53
Благодарил (а): 18 раз
Поблагодарили: 6 раз
Контактная информация:

awk, sed, grep?

#1

25 мар 2020, 10:14

Доброго времени суток. Нужна помощь, как новичку. Имею обновляемый файл (к примеру, парсинг чата с Текущего сайта (просто как пример, что бы не попасть на рекламу сторонних сервисов)) . Планирую выводить в консоли выводить определенную информацию (к примеру, обращение в чате и т.п.) и что бы он не заканчивал свою работу, при нахождении регулярки, а продолжал искать следующую. С помощью чего это лучше реализовать?
Сам смотрю в сторону awk, но лучше узнать мнение более опытных в данном вопросе людей.

Аватара пользователя

slant
Сообщения: 4504
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1992 раза
Контактная информация:

awk, sed, grep?

#2

25 мар 2020, 10:25

"Планирую ремонтировать машину, с помощью какого инструмента это лучше всего сделать?"

Эти программы не являются конкурентами или альтернативой одна другой. У каждой свои преимущества и специализация в вопросах обработки текста. Без полной конкретики по вопросу - никто объективно ответить не сможет, это в лучшем случае будет личная вкусовщина. Очень многое можно сделать любой из них, но что будет удобнее/лучше в конкретном случае - без этой самой конкретики не скажешь. Много тонкостей.

no avatar

Автор темы
Anonim19992
Сообщения: 132
Зарегистрирован: 16 ноя 2016, 11:53
Благодарил (а): 18 раз
Поблагодарили: 6 раз
Контактная информация:

awk, sed, grep?

#3

25 мар 2020, 10:36

ок) ко мне обращаются по нику в чате данного форума. я хочу, что бы данные сообщения выводились в консоль, но что бы при нахождении 1 регулярки, скрипт не завершил свою работу, а дальше продолжал работать и ждал следующие реглярки на вывод в консоль и т.д.).

Аватара пользователя

symon2014
Сообщения: 5934
Зарегистрирован: 16 дек 2017, 21:59
Решено: 37
Откуда: Феодосия
Благодарил (а): 32 раза
Поблагодарили: 750 раз
Контактная информация:

awk, sed, grep?

#4

25 мар 2020, 10:40

Anonim19992, обращал внимание , что в панели чата справа каждые несколько секунд крутится колёсико? Может это какой нибудь крон включается регулярно? :hoho:

Аватара пользователя

rogoznik
Сообщения: 10040
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1956 раз
Контактная информация:

awk, sed, grep?

#5

25 мар 2020, 10:41

symon2014, это JS
ИзображениеИзображение

Аватара пользователя

FreeStyler
Сообщения: 798
Зарегистрирован: 23 июл 2018, 07:58
Решено: 6
Откуда: Сиб
Благодарил (а): 756 раз
Поблагодарили: 94 раза
Контактная информация:

awk, sed, grep?

#6

25 мар 2020, 10:51

Anonim19992, а что awk '/<expression>/' разве находит только первое вхождение? Вроде бы все.
Например, awk '/login/' /etc/passwd
Вообще не знаю эти седы, я бы пыху заюзал :-D
deadmau5 - Harmonic Mix
■ KDE Neon 22.04 (UE) @ Lenovo IdeaPad 3-15 Ryzen 5 4500U, 18 Гб DDR-4, 128 Gb SSD +1 Gb SSD 1920x1080

no avatar

Автор темы
Anonim19992
Сообщения: 132
Зарегистрирован: 16 ноя 2016, 11:53
Благодарил (а): 18 раз
Поблагодарили: 6 раз
Контактная информация:

awk, sed, grep?

#7

25 мар 2020, 10:53

Перенес с чата информацию, что бы она не потерялась =))
Сегодня, 17:51 Anonim19992: @symon2014 Текст с чата сохраняется в chat.txt (.txt для понимая формата файла и типа информации в нем). Сохраняется непрерывно (24/7). Нужно, что бы из этого файла в терминале показывались все обращения к определенному нику ( @Anonim19992 ) как пример.
Сегодня, 17:52 Anonim19992: но что бы скрипт не завершался после показа 1 блока информации, а продолжал ждать следующее совпадение и показывал его тоже

Аватара пользователя

slant
Сообщения: 4504
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1992 раза
Контактная информация:

awk, sed, grep?

#8

25 мар 2020, 10:55

Anonim19992 писал(а):
25 мар 2020, 10:36
ок) ко мне обращаются по нику в чате данного форума. я хочу, что бы данные сообщения выводились в консоль, но что бы
Тут прежде чем ники парсить, надо решить такую задачу: как будет хранится текст полученный из чата, и как будем определять - это старая строка или новая? Т.е. "ее уже парсили раньше или нет?" Т.к. при подходе "в лоб" запрос текста со страницы вернет весь наличный текст из чата. И однозначного признака нового сообщения в нем не будет. Т.е. если просто по таймеру парсить этот запрос - будет регулярно парситься одно и то же по кругу, пока не сдвинется в архив в самом чате.
Когда научитесь выбирать из запроса только новую строчку которой раньше (в предыдущем запросе) не было - и ее уже можно будет парсить любым из вышеописанных трех. Но вот именно выделять эту самую новую строчку - тут очевидного решения вообще нету. Либо БД заводить, либо играться со сравнениями текста, отрезая совпадающий с предыдущих раз.

Аватара пользователя

symon2014
Сообщения: 5934
Зарегистрирован: 16 дек 2017, 21:59
Решено: 37
Откуда: Феодосия
Благодарил (а): 32 раза
Поблагодарили: 750 раз
Контактная информация:

awk, sed, grep?

#9

25 мар 2020, 11:00

slant писал(а):
25 мар 2020, 10:55
Либо БД заводить,
архив чата как то дописывается же.

Аватара пользователя

FreeStyler
Сообщения: 798
Зарегистрирован: 23 июл 2018, 07:58
Решено: 6
Откуда: Сиб
Благодарил (а): 756 раз
Поблагодарили: 94 раза
Контактная информация:

awk, sed, grep?

#10

25 мар 2020, 11:02

Anonim19992,
сёрчить учимся https://duckduckgo.com/?q=nix+monitorin ... cal&ia=web

Например, так:
watch awk '/<nickname>/' chat.txt
deadmau5 - Harmonic Mix
■ KDE Neon 22.04 (UE) @ Lenovo IdeaPad 3-15 Ryzen 5 4500U, 18 Гб DDR-4, 128 Gb SSD +1 Gb SSD 1920x1080

Аватара пользователя

rogoznik
Сообщения: 10040
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1956 раз
Контактная информация:

awk, sed, grep?

#11

25 мар 2020, 11:11

В случае с нашим чатом - в строке есть время, можно по нему отслеживать какие строки уже парсились, какие нет
ИзображениеИзображение

no avatar

Автор темы
Anonim19992
Сообщения: 132
Зарегистрирован: 16 ноя 2016, 11:53
Благодарил (а): 18 раз
Поблагодарили: 6 раз
Контактная информация:

awk, sed, grep?

#12

25 мар 2020, 11:26

rogoznik писал(а):
25 мар 2020, 11:11
В случае с нашим чатом - в строке есть время,
В том чате, где будет данный парсинг время тоже присутствует. планирую сделать контроль по нему =))

Закрыто

Вернуться в «Вопрос новичка и FaQ»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость