hi, you have to find common pattern in the hostnames and forge subregexp in
brakets..
for example if the changing part is the number enclose them in brackets and
backreference them in line as \cardianalnumber
in the example below
\1 will reference to (.*)
\2 will reference to the first (\d+)
\3 will reference to the second (\d+)
\4 will reference to the tailing (.*)
At the moment I can't test the playbook, anyway you try something like
- hosts: localhost
tasks:
- name: lineinfile
lineinfile:
path: ./hosts
regexp: '^(.*)\bserver-rack(\d+)-test-server-(\d+)\b(.*)$'
line: '\1 server-rack\2-test-server-\3.corp.company.com
<http://server.corp.company.com> \4'
backrefs: yes
Have a look at https://docs.python.org/2/library/re.html for further details
regards
Luca
Il giorno martedì 26 febbraio 2019 03:56:54 UTC+1, Larry Pescatore ha
scritto:
>
> Thank you sir, I am trying to find out how that exactly would look in my
> file (I am new to regexp so please forgive me).
> Heres what my file looks like:
>
> cat /etc/hosts
> 127.0.0.1 localhost
> 127.0.1.1 server-rack5-test-server-5
>
> What I need it to change to (on a dynamic level, as in
> "server-rack5-test-server-5" will of course always be different"):
> cat /etc/hosts
> 127.0.0.1 localhost
> 127.0.1.1 server-rack5-test-server-5.corp.company.com
>
> Could you help me with that?
>
> On Mon, Feb 25, 2019 at 6:41 PM fusillator <[email protected]
> <javascript:>> wrote:
>
>> I don't know if I got your specification correctly
>>
>> anyway this is an example
>>
>>
>> $ cat lineinfile.yml
>> - hosts: localhost
>> tasks:
>>
>> - name: lineinfile
>> lineinfile:
>> path: ./hosts
>> regexp: '^(.*) server\.corp\b(.*)$'
>> line: '\1 server.corp server.corp.company.com \2'
>> backrefs: yes
>>
>> $ cat hosts
>> 127.0.0.1 localhost
>> 192.168.192.168 server.corp
>> fusillator@catorcio:~/Code/ansible/test$ ansible-playbook lineinfile.yml
>>
>> PLAY [localhost]
>> **************************************************************************************************************************************************************************************************************************************************************
>>
>> TASK [Gathering Facts]
>> ********************************************************************************************************************************************************************************************************************************************************
>> ok: [localhost]
>>
>> TASK [lineinfile]
>> *************************************************************************************************************************************************************************************************************************************************************
>> changed: [localhost]
>>
>> PLAY RECAP
>> ********************************************************************************************************************************************************************************************************************************************************************
>> localhost : ok=2 changed=1 unreachable=0
>> failed=0
>>
>> $ cat hosts
>> 127.0.0.1 localhost
>> 192.168.192.168 server.corp server.corp.company.com
>>
>>
>> regards
>>
>>
>> Luca
>>
>> Il giorno martedì 26 febbraio 2019 03:02:05 UTC+1, [email protected]
>> ha scritto:
>>>
>>> Thanks Luca, I sorta thought that was it, could you give a quick example
>>> on how the file would look?
>>>
>>> Sent from my iPhone. Please excuse any typos.
>>>
>>>
>>> On Feb 25, 2019, at 5:46 PM, Luca Cazzaniga <[email protected]> wrote:
>>>
>>> Hi try the module lineinfile, see the manual page at
>>> https://docs.ansible.com/ansible/latest/modules/lineinfile_module.html
>>>
>>> Il giorno mar 26 feb 2019, 02:30 lpescatore via Ansible Project <
>>> [email protected]> ha scritto:
>>>
>>>> Hi,
>>>> I want to add some stuff to my /etc/hosts file.
>>>> For instance, if my /etc/hosts says "server.corp", I want to append
>>>> that in all my machines to where it says "server.corp.company.com".
>>>> Then I want it to save.
>>>> What is the best module for that , and can you tell me what the play
>>>> might look like?
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Ansible Project" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/ansible-project/cb9896bd-1639-4690-b8d7-457c5ab75617%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/ansible-project/cb9896bd-1639-4690-b8d7-457c5ab75617%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "Ansible Project" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/ansible-project/mYI1oZ8hAyA/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/ansible-project/CAPz4CsxFGgeTEkh%2BHr1cXDxOF1trst3pJnvFY%2BU%2BraCVHnFu7Q%40mail.gmail.com
>>>
>>> <https://groups.google.com/d/msgid/ansible-project/CAPz4CsxFGgeTEkh%2BHr1cXDxOF1trst3pJnvFY%2BU%2BraCVHnFu7Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/ansible-project/mYI1oZ8hAyA/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/e40f8d40-fa16-4a53-9c10-02e669c89019%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/e40f8d40-fa16-4a53-9c10-02e669c89019%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> --
> Best,
> Larry Pescatore
> Lab Administrator @ Pixel
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/e48555cf-c71f-4f70-a193-fe1ff4fc9831%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.