gpt4 book ai didi

regex - Ansible:lineinfile 不断压缩我现有的行而不是向其附加文本

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:49 26 4
gpt4 key购买 nike

我看过一些有类似问题的帖子,但似乎对我没有任何帮助。有些人提到需要在我的正则表达式中使用组,所以我添加了它们但仍然有问题。其他人说只要在我的 lineinfile 中添加“backrefs: yes”就可以了,到目前为止还没有成功。

现有线路:

PATH=$PATH:$HOME/.local/bin:$HOME/bin

执行后的预期行:

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/somedir

执行后实际行:

:/opt/somedir

我的 Ansible:

     - name: update ~/.bash_profile
lineinfile:
backup: yes
backrefs: yes
path: ~/.bash_profile
regexp: '^(PATH=.*)$'
line: ':/opt/somedir'

我错过了什么?

最佳答案

您需要将反向引用添加到将要插入的行。

例如:

- name: update ~/.bash_profile
lineinfile:
backup: yes
backrefs: yes
path: ~/.bash_profile
regexp: '^(PATH=.*)$' # PATH=.* is inside group 1 because of the parentheses
line: '\1:/opt/somedir' # group 1 can be referenced with \1

关于regex - Ansible:lineinfile 不断压缩我现有的行而不是向其附加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58736819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com