LINUX.ORG.RU

вот: 12498

anonymous
()

В Python читаешь строку за строкой, делаешь split по пробелам и берешь только то что началось с roleid, затем по запятым, затем по =, т.е. поочередно убираешь лишнее, и в итоге - где получились пары где слева roleid то справа берешь строку и переводишь в int

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Путь номер два https://stackoverflow.com/questions/21842885/python-find-a-substring-in-a-string-and-returning-the-index-of-the-substring

Находишь позицию roleid= и ковыряешь цифырьки по одной до первой же «не-цифры». Тоже позорный дилетантский путь, стыдный но рабочий

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Может сейчас придут товарищи с регулярками и в пол строки решат твою задачу

для этого нужно знать, с помощью чего он это решил делать :)

так то /roleid=\K\d+/ по идее должно хватить, но \K есть не везде. Альтернативно — /roleid=(\d+)/, но способ выбора группы зависит от используемых инструментов.

anonymous
()
Ответ на: комментарий от i-rinat

Уважаемый перепутал «вытащить roleid» и «вывести 12498».

line='gdelivery::receive setcustom_data. roleid=12498,localsid=1607'
echo $(TMP=${line##*roleid=};echo ${TMP%%,*})
mogwai ★★★★★
()
Ответ на: комментарий от fornlr

Правильно, даёшь паверщель дефолтным интерпретатором в линуксах!

mogwai ★★★★★
()
Ответ на: комментарий от fornlr

про это лучше реально забыть

Угу. Приходишь такой на собеседование, тебе задают вопрос что-то типа топика с одним из возможных вариантов «на bash», а ты такой: «Про это лучше забыть». И тебе сразу двойную зарплату дают... Впрочем, для вопроса, на чём лучше — тут никто не дал, а это awk для таких задач:

awk -F '[=,]' '/roleid=[0-9]+/ { print $2 }'

vodz ★★★★★
()
Ответ на: комментарий от vodz

Ну да… А ещё и кофе на рубашку прольют и посмотрят на реакцию. А ты как скажешь «это всё ерунда, я специалист спокойный и уверенный» (или что там в байке?).

Ну если плохо, то плохо.

Впрочем, для вопроса, на чём лучше — тут никто не дал, а это awk для таких задач

Первый пост

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.