使用Ansible在正则表达式匹配行的末尾附加一个字符串

Asr

无论我在文件的哪里找到tar命令,都希望将其附加2>/dev/null在同一行的末尾。

因此,如果/tmp/test.sh文件具有tar -cf test.tar /myfolder条目,则应将其更改为tar -cf test.ta /myfolder 2>/dev/null

以下是我的剧本:

 - name: Suppress tar errors
     replace:
       path: "/tmp/test.sh"
       regexp: 'tar *'
       replace: '\1 >2/dev/null'

但是我得到以下错误:

TASK [Suppress tar errors] **********************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: sre_constants.error: invalid group reference
fatal: [10.9.9.126]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 102, in <module>\n  File \"<stdin>\", line 94, in _ansiballz_main\n  File \"<stdin>\", line 40, in invoke_module\n  File \"/usr/lib64/python2.7/runpy.py\", line 176, in run_module\n    fname, loader, pkg_name)\n  File \"/usr/lib64/python2.7/runpy.py\", line 82, in _run_module_code\n    mod_name, mod_fname, mod_loader, pkg_name)\n  File \"/usr/lib64/python2.7/runpy.py\", line 72, in _run_code\n    exec code in run_globals\n  File \"/tmp/ansible_replace_payload_FUlN7y/ansible_replace_payload.zip/ansible/modules/files/replace.py\", line 302, in <module>\n  File \"/tmp/ansible_replace_payload_FUlN7y/ansible_replace_payload.zip/ansible/modules/files/replace.py\", line 272, in main\n  File \"/usr/lib64/python2.7/re.py\", line 162, in subn\n    return _compile(pattern, flags).subn(repl, string, count)\n  File \"/usr/lib64/python2.7/re.py\", line 275, in filter\n    return sre_parse.expand_template(template, match)\n  File \"/usr/lib64/python2.7/sre_parse.py\", line 802, in expand_template\n    raise error, \"invalid group reference\"\nsre_constants.error: invalid group reference\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

我什至尝试了以下方法:

   replace: '\g\1 >2/dev/null'
   replace: '\g<1> >2/dev/null'
   replace: '\1 >2/dev/null'

但是他们都没有帮助。

富兰克林西霍

错误是:sre_constants.error:无效的组引用

您尚未定义任何组regexp,但是replace正在寻找第一个捕获组\1

在括号内定义组(),正则表达式必须为'(tar.+)'

任务看起来像

- name: Suppress tar errors
  replace:
    path: "/tmp/test.sh"
    regexp: '(tar.+)'
    replace: '\1 >2/dev/null'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中使用正则表达式多次匹配一个字符串

来自分类Dev

正则表达式,从字符串末尾到右边的第一个字符(点)匹配char('-')

来自分类Dev

在两个字符串(包括第一个字符串)之间匹配的正则表达式

来自分类Dev

正则表达式匹配不包括第一个字符的字符串

来自分类Dev

正则表达式多个元素一个字符串

来自分类Dev

仅当行不包含另一个字符串时,正则表达式才匹配一个字符串

来自分类Dev

正则表达式以匹配2个字符串并包含另一个字符串

来自分类Dev

Powershell正则表达式匹配第一个字符串以外的字符串

来自分类Dev

正则表达式从一个字符串到另一个字符串

来自分类Dev

如何使用正则表达式按最后一个字符拆分字符串?

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

R:在一个字符串中匹配M个正则表达式后提取N个字符

来自分类Dev

如果文本仅包含一个字符串,则匹配文本的正则表达式

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

正则表达式以匹配多个字符串之一,然后是另一个字符串

来自分类Dev

正则表达式匹配字符串,长度为3-6个字符,至少一个字母,没有重复的“-”

来自分类Dev

得到一个字符串的PHP正则表达式匹配

来自分类Dev

正则表达式PCRE:验证字符串以匹配第一个字符串集而不是最后一个字符串

来自分类Dev

正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

来自分类Dev

两个可能包含另一个字符串的字符串之间的正则表达式匹配

来自分类Dev

Python 3-正则表达式-匹配少一个字符的字符串

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

正则表达式匹配一个字符串但失败相同

来自分类Dev

使用正则表达式替换匹配字符串的最后一个字符

来自分类Dev

如何使用正则表达式从另一个字符串的开头删除多个字符串

来自分类Dev

R:从第一个字符到字符串末尾的正则表达式

来自分类Dev

正则表达式匹配字符串中的最后一个字符 - C#

来自分类Dev

正则表达式匹配行与字符串 AND 没有另一个字符串

Related 相关文章

  1. 1

    在Java中使用正则表达式多次匹配一个字符串

  2. 2

    正则表达式,从字符串末尾到右边的第一个字符(点)匹配char('-')

  3. 3

    在两个字符串(包括第一个字符串)之间匹配的正则表达式

  4. 4

    正则表达式匹配不包括第一个字符的字符串

  5. 5

    正则表达式多个元素一个字符串

  6. 6

    仅当行不包含另一个字符串时,正则表达式才匹配一个字符串

  7. 7

    正则表达式以匹配2个字符串并包含另一个字符串

  8. 8

    Powershell正则表达式匹配第一个字符串以外的字符串

  9. 9

    正则表达式从一个字符串到另一个字符串

  10. 10

    如何使用正则表达式按最后一个字符拆分字符串?

  11. 11

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  12. 12

    R:在一个字符串中匹配M个正则表达式后提取N个字符

  13. 13

    如果文本仅包含一个字符串,则匹配文本的正则表达式

  14. 14

    正则表达式删除与第一个字符串匹配的行?

  15. 15

    正则表达式以匹配多个字符串之一,然后是另一个字符串

  16. 16

    正则表达式匹配字符串,长度为3-6个字符,至少一个字母,没有重复的“-”

  17. 17

    得到一个字符串的PHP正则表达式匹配

  18. 18

    正则表达式PCRE:验证字符串以匹配第一个字符串集而不是最后一个字符串

  19. 19

    正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

  20. 20

    两个可能包含另一个字符串的字符串之间的正则表达式匹配

  21. 21

    Python 3-正则表达式-匹配少一个字符的字符串

  22. 22

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  23. 23

    正则表达式删除与第一个字符串匹配的行?

  24. 24

    正则表达式匹配一个字符串但失败相同

  25. 25

    使用正则表达式替换匹配字符串的最后一个字符

  26. 26

    如何使用正则表达式从另一个字符串的开头删除多个字符串

  27. 27

    R:从第一个字符到字符串末尾的正则表达式

  28. 28

    正则表达式匹配字符串中的最后一个字符 - C#

  29. 29

    正则表达式匹配行与字符串 AND 没有另一个字符串

热门标签

归档