|
Анализ ТЖ через perl | ☑ | ||
---|---|---|---|---|
0
breezee
03.05.24
✎
22:01
|
Подскажите, пожалуйста, где прочитать про анализ текста с помощью регулярок?
Вот статья с ИТС https://its.1c.ru/db/metod8dev/content/5927/hdoc Понятно +- до строки cat file | sed -r 's/.{8}-.{4}-.{4}-.{4}-.{12}/{GUID}/g' | sed -r 's/\:[0-9]{4,5}/{PORT}/g' | sed -r 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/{ADDR}/g' Что это значит? "Автор считает более удобным применять конструкцию Копировать в буфер обмена perl -pe 's/найти/заменить/'" Автор не написал где про это прочитать. Это тупо не гуглится. Что значит -pe? Изучаю материал экзамена к эксперту по тех. вопросам, если кому интересно. Но это не важно, просто ТЖ надо как-то читать. У нас сейчас сервис Гилева и он справляется (спасибо Вячеслав, если Вы иногда посещаете этот форум), но, на пример, в нем нельзя посмотреть нагрузку на диск, а нам это, возможно, надо |
1 3 27 |
||
1
Asmody
03.05.24
✎
22:16
|
(0)
1) https://losst.pro/komanda-sed-linux#toc-3-sintaksis-regulyarnyh-vyrazheniy 2) про perl, я даже не знаю. "Это тупо не гуглится" - санкции штоль? ну хотя бы https://eax.me/perl-oneliners/ https://habr.com/ru/articles/70610/ https://www.opennet.ru/tips/info/2393.shtml https://dev.to/learnbyexample/perl-one-liners-introduction-3l46 https://ru.perlmaven.com/perl-v-komandnoy-stroke ну и читать не перечитать https://metacpan.org/dist/POD2-RU |
2 |
||
2
breezee
03.05.24
✎
22:18
|
(1) большое спасибо
Да не гуглилось просто и все, я загуглил perl -pe и ничего не нашлось. Большое спасибо ещё раз, изучу |
|||
3
Garykom
03.05.24
✎
22:21
|
(0)
Что значит -pe?
вероятно он допускает объединение аргументов "perl -pe" = "perl -p -e" или тупо ошибка/опечатка |
5 |
||
4
Asmody
03.05.24
✎
22:22
|
Если плаваем в регулярках, идём сюда https://regex101.com/ , вставляем регулярку (кусок строки между /вот-это/ ) в поле REGULAR EXPRESSION, справа в поле EXPLANATION читаем расшифровку
|
6 |
||
5
Asmody
03.05.24
✎
22:23
|
(3) допускает. perl писался в те времена, когда байты считали
|
7 |
||
6
breezee
03.05.24
✎
22:25
|
(4) / An unescaped delimiter must be escaped; in most languages with a backslash (\)
Такое пишет когда вставляю s/.{8}-.{4}-.{4}-.{4}-.{12}/{GUID}/g' | sed -r 's/\:[0-9]{4,5}/{PORT}/g' | sed -r 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/{ADDR}/g |
9 |
||
7
breezee
03.05.24
✎
22:26
|
(5) А может что покруче уже есть? Только это должно быть доступно на эксперте по Тех. вопросам)
|
8 11 |
||
8
Garykom
03.05.24
✎
22:27
|
10 |
|||
9
Asmody
03.05.24
✎
22:33
|
(6) не надо всё вставлять.
в строке cat file | sed -r 's/.{8}-.{4}-.{4}-.{4}-.{12}/{GUID}/g' | sed -r 's/\:[0-9]{4,5}/{PORT}/g' | sed -r 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/{ADDR}/g' 4 команды, объединенные через вертикальную палку (или pipe-line), что значит, что выход первой команды поступает на вход следующей. cat читает файл и вываливает его на стандартный выход это подхватывает sed и пропускает через регулярку ( -r ), которая говорит "в каждой строке замени ( s/ ) все, что соответствует регулярке .{8}-.{4}-.{4}-.{4}-.{12} на строку {GUID}, делай это для всех вхождений ( флаг /g )". результат будет выведен на стандартный выход тут его подхватит второй sed и пропускает через следующую регулярку, а потом третий sed через свою |
13 |
||
10
breezee
03.05.24
✎
22:34
|
(8) Крутяк, кстати. Вопрос на сколько это быстро работает. Если это реально можно на экзамене и быстро работает можно загнать в ТЧ нового документа/справочника новой базы, сгруппировать, обработать на родном языке.
Но (мое мнение) скорее всего раз об этом не пишут как об. оф инструменте - на экзамене скажут что я сделал не правильно или окажутся какие-то подводные камни. Имел ввиду типо библотек может каких на линуксе, типо с функцией "СделатьВсеХорошо(строкаДляПарсинга) |
12 |
||
11
Asmody
03.05.24
✎
22:35
|
(7) обработчик текстов из командной строки покруче perl?
пожалуй что нет |
|||
12
Asmody
03.05.24
✎
22:36
|
(10) на экзамене тебя посадят за машину с голым линуксом и скажут "вперёд!"
|
14 15 |
||
13
breezee
03.05.24
✎
22:36
|
(9) Мегасуперкурто! Спасибище!!! действительно работает. Даже понятно стало)
|
|||
14
breezee
03.05.24
✎
22:38
|
(12) Ну да, вот об этом и беспокоюсь( Я не просто так пришел к perl с ничего, это "best practics" как я понял)
Спасибо |
|||
15
Garykom
03.05.24
✎
22:40
|
(12) голый linux подразумевает что perl'а может и нету
а если есть apt update|install то можно воткнуть что угодно |
16 20 |
||
16
breezee
03.05.24
✎
22:41
|
(15) Вот не понятно, но я понял инета не будет, а перл будет
|
18 |
||
17
Garykom
03.05.24
✎
22:42
|
материал экзамена к эксперту по тех. вопросам
А потом будут удивляться как это собес прошел, серты 1С есть - а работать никак... |
22 |
||
18
Garykom
03.05.24
✎
22:43
|
(16) Ты понимаешь что в реальной работе "нет инета" - это форсмажор и работа встала
Учить наизусть все команды - это изврат Пользоваться man'ами - тоже изврат при наличии инета |
19 |
||
19
Garykom
03.05.24
✎
22:44
|
(18)+ Но и быть полным "гуглером" тоже изврат
Надо хотя бы базу иметь |
|||
20
Asmody
03.05.24
✎
22:49
|
(15) представить нынешний линукс без перла и питона достаточно сложно. разве что LFS, да и то вряд ли.
слишком много системного на питоне и перле. |
|||
21
Asmody
03.05.24
✎
22:53
|
А для "под винду" можно powershell почитать. Например, про Select-String https://learn.microsoft.com/ru-ru/powershell/module/microsoft.powershell.utility/select-string?view=powershell-7.4
|
|||
22
breezee
03.05.24
✎
22:53
|
(17) Я не претендую на эксперта, меня устраивает текущая работа. Серт нужен только франчу. За него обещали денег поднять. Работать адутором я не буду. Как минимум мне это не очень интересно. Оптимизировать некоторые моменты интересно, но мой опыт - что большинство оптимизаций при нормальной команде, которая не пишет запросы в цикле - это в первую очередь оптимизация бизнес логики, а уже потом - оптимизация кода. То есть если сократить 10 запросов в цикле внутри 10 документов в одном пакете - получишь ускорение уловное 10%, а если пакет документов заменишь на 1 и еще сделаешь формирование отложенным - сократишь уже значительным. Или, допустим, сделать систему в которой запрос будет сразу с отбором по первому измерению, потому что так будет работать для бизнеса "нормально" - это немного другое. Хотя, стоит отметить что без курсов я бы и не знал про то что, на пример, можно оценить нагрузку на проц по ТЖ или собрать экспешены по ТЖ. В общем, как и по всем экзаменам - он показывает не то что ты что-то знаешь, а то что ты просто это сдал. Вот, на пример, алгоритм распределения по ФИФО с экзамена по спеца постоянно использую в своей работе. Хотя бытует мнение что экзамен по спецу "не за чем".
Вообще, хотел бы экзаен более интересный с точки зрения бизнеса. Админы есть везде, на пример, на больших конторах и мне не очень интересно как у них все работает, у меня тупо на это времени нет на работе |
23 24 |
||
23
Asmody
03.05.24
✎
22:56
|
(22) но ситуации, когда база внезапно тормозит на ровном месте из-за того, что СКД твой запрос как-то не так вывернула, встречается не только у "больших".
|
25 |
||
24
Garykom
03.05.24
✎
22:59
|
(22) >при нормальной команде, которая не пишет запросы в цикле
ты не поверишь но стандартная БИД - почти все функции одиночные - в итоге приходится или сплошные запросы в цикле (точнее в цикле вызовы функций БИД а внутри запросы) или переписывать все нафуй самому - а это трудозатраты - заказчик идет только когда "все совсем тормозит" |
25 30 |
||
25
breezee
03.05.24
✎
23:03
|
||||
26
breezee
03.05.24
✎
23:05
|
Всем еще раз спасибо за ссылке. Чтобы тему не потерли за оффтоп больше не буду отвечать, пойду спать. По моему часовому поясу уже поздно. Еще раз спасибо, особенно за https://regex101.com/
|
|||
27
palsergeich
04.05.24
✎
02:24
|
(0) Вообще есть случаи сдачи экзамена чисто на ЦУП, без регулярок.
Если цель именно его сдать - то подучить лишним не будет, да. Но в реальной жизни что бы кто то строчил скрипты на перле, я если честно еще не видел. |
|||
28
Asmody
04.05.24
✎
21:36
|
Вот, нашел у себя в закладках
https://www.youtube.com/live/pV8wgI8haf4?si=bFqHc_Mm1HdnEnVq |
29 |
||
29
breezee
04.05.24
✎
22:02
|
(28) Большое спасибо!
|
|||
30
d4rkmesa
04.05.24
✎
22:11
|
(24) В БИД еще забавные штуки, помимо одиночных вызовов, это когда логика работы зависит от типа параметра (одиночный или список). К примеру, передали один id из интегрируемой системы - нормально работает, возвращает данные. Передали массив id - не возвращает ничего, зато запускается логика по автообновлению каких-то вспомогательных данных. ) Первый раз столкнулся, чтобы кто-то таким образом api разрабатывал.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |