【问题标题】:Prepend text to file without creating a line break with SaltStack在不使用 SaltStack 创建换行符的情况下将文本添加到文件中
【发布时间】:2017-11-30 07:09:48
【问题描述】:

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

目前:

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

这很有效,因为“这里有一些要添加的文本”被添加到文件顶部的新行中。我需要将此文本添加到文件的开头而不创建新的换行符。我很想用 saltstack 来做这件事,但我在他们的文档中的任何地方都找不到解决这个问题的方法。

在文件开头的新行中添加的文本会导致无法按预期工作。我找到了一些如何使用 sed 或 bash 脚本执行此操作的示例,但我希望能够使用 saltstack 来完成此操作。

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

【问题讨论】:

    标签: salt-stack


    【解决方案1】:

    我能够使用模式匹配和替换来解决这个问题。

    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
    

    位于文件开头的文本将始终位于文件的开头。因此,通过匹配模式,我可以将文本添加到文件的开头,而无需添加换行符。 “将始终位于开头的文本”之后的所有其余文本都保持不变,并且将位于模式查找和替换发生之前所在的相同位置。

    【讨论】:

      猜你喜欢
      • 2018-04-25
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 2012-11-13
      • 1970-01-01
      相关资源
      最近更新 更多