一、简介

salt file.replace 文件内容处理函数,类似于ansible的lineinfile模块

二、参数介绍

name

  被编辑文件的绝对路径,支持软链接

pattern

  常规表达式,使用python的search函数进行匹配

repl

  新替换的文件内容

count

  替换发生的次数,默认为0全部替换

flags

  re module定义的flags,格式为list,such as ['IGNORECASE', 'MULTILINE']

append_if_not_found

  默认: False,在文件末尾添加

prepend_if_not_found

  默认: False,在文件开始处添加

not_found_content

  默认: None,使用repl参数的内容

  使用此处内容进行替换,如果匹配的文本内容没有找到,并且append_if_not_found或prepend_if_not_found设置成True,

  如果repl使用反向引用,那么就要设置not_found_content

backup

  在编辑文件之前,对文件进行备份(没有改动的文件不会做备份操作)

  备份在当前文件目录下,后缀名为你在backup中定义的

show_changes

  True: 输出新旧文件内容的差异处

  False: 如果对文件有改动,返回一个bool值

三、Example

/tmp/sshd_config:
file.replace:
- pattern: "^(PermitRootLogin) no"
- repl: '\1 yes'
- backup: .bak20181024
- show_changes: True
- append_if_not_found: True
- not_found_content: "PermitRootLogin no"

PS: salt version / 2016.11

file.replace的更多相关文章

  1. File类与FileInfo类

    File是一个静态类,常用于文件操作,读取,修改文件等等.File类的大部分方法最终都是转换为流(Stream)的操作,只不过是.net提取帮你封装好了这些常用的流.并且会自动清理占用的资源. 例如: ...

  2. Js/Jquery获取input file的文件名

    html代码:     <input type="file" name="file" id="file" class="in ...

  3. 【C# IO 操作】 Path 路径类 |Directory类 |DirectoryInfo 类|DriveInfo类|File类|FileInfo类|FileStream类

    Directory类 Directory类 是一个静态类,常用的地方为创建目录和目录管理. 一下来看看它提供的操作. 1.CreateDirectory 根据指定路径创建目录.有重载,允许一次过创建多 ...

  4. Fedora 24中的日志管理

    Introduction Log files are files that contain messages about the system, including the kernel, servi ...

  5. 解析大型.NET ERP系统 版本控制

    数据库版本控制 1) 开发版本控制.控制多人同时修改数据库产生的冲突,使用SQL Source Control 工具做版本管理. SQL Server Management Studio支持VSS和T ...

  6. 详解:基于WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器功能

    文件同步传输工具比较多,传输的方式也比较多,比如:FTP.共享.HTTP等,我这里要讲的就是基于HTTP协议的WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器这样的一个工具(简称:一 ...

  7. THINKPHP源码学习--------文件上传类

    TP图片上传类的理解 在做自己项目上传图片的时候一直都有用到TP的上传图片类,所以要进入源码探索一下. 文件目录:./THinkPHP/Library/Think/Upload.class.php n ...

  8. MS SQLServer 批量附加数据库 分类: SQL Server 数据库 2015-07-13 11:12 30人阅读 评论(0) 收藏

    ************************************************************ * 标题:MS SQLServer 批量附加数据库 * 说明:请根据下面的注释 ...

  9. 配置nginx支持ssl服务器—HTTPS

    下文摘自: http://docs.bigbluebutton.org/install/install.html     Configuring HTTPS on BigBlueButtonAncho ...

随机推荐

  1. bnu 51636 Squared Permutation 线段树

    Squared Permutation Time Limit: 6000ms Memory Limit: 262144KB 64-bit integer IO format: %lld      Ja ...

  2. Intellij IDEA 使用spring-boot-devtools无效解决办法一

    Intellij IDEA 使用spring-boot-devtools maven依赖 ``` <dependency> <groupId>org.springframewo ...

  3. ubuntu16.04上安装Jenkins,获取登陆密码

    sudo cat /usr/share/tomcat7/.jenkins/secrets/initialAdminPassword

  4. TinyXml节点查找及修改

    参考:http://blog.csdn.net/zww0815/article/details/8083550 // 读者对象:对TinyXml有一定了解的人.本文是对TinyXml工具的一些知识点的 ...

  5. 96D - Police Stations

    96D - Police Stations 思路:bfs,从所有的警察局开始bfs,因为bfs的深度一样,而且题目给的树保证满足条件,所以不用考虑深度. 如果搜索到一个点a,他的下一个点b已经被搜索过 ...

  6. Codeforces 837D - Round Subset(dp)

    837D - Round Subset 思路:dp.0是由2*5产生的. ①dp[i][j]表示选i个数,因子2的个数为j时因子5的个数. 状态转移方程:dp[i][j]=max(dp[i][j],d ...

  7. C#复制数据到剪切板

    C#复制数据到剪切板 1. 复制固定的数据到剪切板 Clipboard.SetText("123456"); 于是123456就已经复制到剪切板中了,无论在任何地方粘贴都会出现‘1 ...

  8. 雷林鹏分享:C# 运算符重载

    C# 运算符重载 您可以重定义或重载 C# 中内置的运算符.因此,程序员也可以使用用户自定义类型的运算符.重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的.与其 ...

  9. 『Scrapy』终端调用&选择器方法

    Scrapy终端 示例,输入如下命令后shell会进入Python(或IPython)交互式界面: scrapy shell "http://www.itcast.cn/channel/te ...

  10. zzuli1728(数学期望,组合数)

    1728: 社交网络 Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 232  Solved: 64 SubmitStatusWeb Board Desc ...