我在我的服务器上使用saltstack进行托管配置。我有一个用例,我需要在文件的开头添加文本而不创建换行符。
目前:
/path/to/file:
file.prepend:
- text:
here is some text to add
这很有效,因为"这里有一些要添加的文字"添加到文件顶部的新行。我需要将此文本添加到文件的开头,而不创建新的换行符。我很乐意用saltstack来做这个,但我无法在他们的文档中找到解决这个问题的方法。
在文件开头的新行上添加的文本会使事情无法按预期工作。我已经找到了一些如何使用sed或bash脚本执行此操作的示例,但希望能够使用saltstack来实现此目的。
有没有人遇到同样的问题,可以指出我正确的方向?
答案 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
文件开头的文本始终位于文件的开头。因此,通过匹配模式,我可以将文本添加到文件的开头,而无需添加换行符。 "文本之后的所有其余文本将始终位于"的开头。没有被触及,并且会在模式发现和替换之前处于相同的位置。