将文本前置到文件而不使用SaltStack创建换行符

时间:2017-11-29 22:30:23

标签: salt-stack

我在我的服务器上使用saltstack进行托管配置。我有一个用例,我需要在文件的开头添加文本而不创建换行符。

目前:

/path/to/file: file.prepend: - text: here is some text to add

这很有效,因为"这里有一些要添加的文字"添加到文件顶部的新行。我需要将此文本添加到文件的开头,而不创建新的换行符。我很乐意用saltstack来做这个,但我无法在他们的文档中找到解决这个问题的方法。

在文件开头的新行上添加的文本会使事情无法按预期工作。我已经找到了一些如何使用sed或bash脚本执行此操作的示例,但希望能够使用saltstack来实现此目的。

有没有人遇到同样的问题,可以指出我正确的方向?

1 个答案:

答案 0 :(得分:0)

我能够使用模式匹配和替换为此提出解决方案。

add_text_to_start:
  file.replace:
    - name: /path/to/the/file
    - pattern: text that will always be at the beginning
    - repl: here is some text to add text that will always be at the beginning

文件开头的文本始终位于文件的开头。因此,通过匹配模式,我可以将文本添加到文件的开头,而无需添加换行符。 "文本之后的所有其余文本将始终位于"的开头。没有被触及,并且会在模式发现和替换之前处于相同的位置。