Ждун
^\d заменить на ''
Denis
два числа получаю
Dmytro
ну склей
Dmytro
да, и фильтр |int
Denis
Concatenate?
? я новичек =) что это
Ждун
Конкатенация строк
Denis
да, и фильтр |int
вот он мне и нужен чтобы потом сравнить два числа
Denis
debug: var={{item.split('.sql')[0] | regex_search('[^v;_]+\d')}}
Denis
как тут склеить?
Ждун
Че то регекс странный
Denis
debug: var={{item.split('.sql')[0] | regex_search('\d+\d+')[0][1]}}??? то ошибка же будует
Ждун
Регекс не то выбирает
Denis
да я пробовал тут и так и так
Denis
сейчас он правильный
Dmytro
фильтр инт это для преобразования в число результата конкатенейта, который будет стрингом
Ждун
Сори) тут надо регекс получить)
Denis
уже два дня бьюсь мне надо просто сравнить 3 числа (((
Denis
одно из имени файла второе и бд третие пользак promt вводит
Denis
все вводит в одном формате
Denis
v0000_0000_tt вот как из этого получить число одно чтобы потом сравнить
Denis
у кого больше
Sergey
Башсибл?
Denis
неа уже отказал им больше части
Sergey
Судя по prompt
Denis
промот потому что люди ленивые и не ходят jenkins
Denis
и консольно ввод перемен не очень
Denis
как склеить
Denis
как склеить?
Sergey
и консольно ввод перемен не очень
То есть ты не хочешь чинить процесс, ты хочешь "davai-davai-deploy-driven-development"?
Denis
а другие люди которые условия ТЗ давали
Denis
не поулчилось их переубедить =)
Dmytro
а ты regex_search используешь? попробуй regex_findall, получишь список из двух элементов, назовем его digits_list потом digits_list[0]|string + digits_list[1]|string, а к результату уже фильтр int
Dmytro
может и без |string можно, но он их может просуммировать, приняв за числа
Denis
дая как раз написал regex_findall и увидел вторую половину
Dmytro
хотя стоп, если regex \d+\d+ то это сразу список из одного элемента
Dmytro
можно сразу |int
Denis
нет из вух
Denis
двух так как там символ между ними _
Dmytro
ок, тогда первый вариант должен помочь, делай конкатенейт
Dmytro
ну это даже не совсем ансибл, задача на другом уровне на самом деле, это питоновские структуры
Denis
{{ zip(['a','b','c','d','e','f']) | list }}
Denis
списко же?
Dmytro
или тебе написать готовое решение? новичок это когда делаешь по доке и дольше, так что все получится, тебе дали нужные ответы
Dmytro
{{ zip(['a','b','c','d','e','f']) | list }}
да, список получится в результате, но я сомневаюсь, что он тебе нужен в таком виде
Dmytro
['a','b','c','d','e','f'] - список zip(['a','b','c','d','e','f']) - не список
niko
>>> type(zip(['a','b','c','d','e','f'])) <type 'list'>
niko
=\
Dmytro
а какой у этого списка первый элемент?
Denis
Да это какой то ппц
Denis
не получится
Denis
не хрена
Dmytro
я просто не знаком с таким форматом
Dmytro
получится, не падай духом
Denis
да тут ппц простоя задача на ансибле чтобы ее сделать это ужее ппц какой то
Denis
всего то надо сравнить цифру
Dmytro
не флуди, мы поняли
Denis
не флуди, мы поняли
сделал не то как писали
Denis
debug: var={{ item.split('.sql')[0] | regex_replace('_','') | regex_search('\d+')}}
Denis
смешно не правда ли
Ждун
re.search().group(1) + re.search().group(2) | int ?
Александр
У меня в одном плейбуке выполняются последовательно сначала инструкции для одного хоста, потом для другого. Но косяк из-за того, что нужно передать текущее время, одинаковое для обоих хостов.
Александр
Т.к. операции долгоиграющие, то переменная datename: "{{ '%Y-%m-%d_%H-%M-%S' | strftime(ansible_date_time.epoch) }}" убегает для второго хоста
Александр
Как бы её получить только один раз?
Александр
set_fact
Не работает, ошибка после set_fact на первом же - hosts
Александр
Разочарование... ansible, ты меня подвёл
Sergey
Логи-то где?
Sergey
Это не лог ты прислал, это таск, причём из документации.
Александр
ERROR! 'set_fact' is not a valid attribute for a Play The error appears to have been in 'example.yml': line 2, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: --- - set_fact: ^ here
Ждун
https://docs.ansible.com/ansible/latest/modules/set_fact_module.html
Rodion
ERROR! 'set_fact' is not a valid attribute for a Play The error appears to have been in 'example.yml': line 2, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: --- - set_fact: ^ here
set_fact должен быть в tasks. И в этом случае, что бы переменная задавалась один раз в самом начале и не менялась, наверно понадобится run_once https://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html#run-once
Александр
set_fact должен быть в tasks. И в этом случае, что бы переменная задавалась один раз в самом начале и не менялась, наверно понадобится run_once https://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html#run-once
Да, я тоже думаю, что внутри tasks, но вот @tnt4brain утверждает, что задать переменную один раз до вызова всех hosts можно до hosts в set_fact
Александр
Иначе внутри tasks будут разные значения времени для разных хостов. А мне надо одно