linux全局替换命令%s(Linux 批量替换内容的命令行方法)
我们在操作Linux服务器运维的时候是需要对命令行页面进行添加或者批量替换的 ,如果直接用命令是很快的 。可以利用sed命令批量替换文件内容 ,该命令是利用脚本来处理文本文件 ,可以替换文件内所有匹配的字符串 ,语法为“sed -i "s/旧内容/新内容/g" 文件路径 ” 。
这里有几个示范看看 。
1 、替换文件夹内所有文件匹配的字符串
sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径`例如将/var/www/test文件夹下的所有文件内容中的abc字符串换成123
sed -i "s/abc/123/g" `grep abc -rl /var/www/test`注:grep内容用的不是单引号 ,而是` ,tab键上面的 ,请使用绝对路径
2.替换文件内所有匹配的字符串
sed -i "s/旧内容/新内容/g" 文件路径例如将/var/www/test/index.html文件夹下的所有文件内容中的abc字符串换成123
sed -i "s/abc/123/g" /var/www/test/index.htmlSed 主要用来自动编辑一个或多个文件 、简化对文件的反复操作 、编写转换程序等 。
sed [-hnV][-e<script>][-f<script文件>][文本文件]参数说明:
-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件 。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件 。
-h或--help 显示帮助 。
-n或--quiet或--silent 仅显示script处理后的结果 。
-V或--version 显示版本信息 。
动作说明:
a :新增 , a 的后面可以接字串 ,而这些字串会在新的一行出现(目前的下一行)
c :取代 , c 的后面可以接字串 ,这些字串可以取代 n1,n2 之间的行
d :删除 ,因为是删除啊,所以 d 后面通常不接任何东西
i :插入 , i 的后面可以接字串 ,而这些字串会在新的一行出现(目前的上一行)
p :打印,亦即将某个选择的数据印出 。通常 p 会与参数 sed -n 一起运行
s :取代 ,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表达
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!