如果使用sed命令修改文件,需要为sed命令指定【-i】选项(i,insert表示插入指令),下面是本人常用到的几种场景:

1. 在文件最后一行的下一行添加配置

  如:在配置文件/etc/profile最后一行添加:export FAP_HOME=/opt/FAP_HOME

[root@ZWZF-CWY-LZY-12 ~]# sed -i '$a export FAP_HOME=/opt/FAP_HOME' /etc/profile           
# $表示最后一行,a表示下一行

[root@ZWZF-CWY-LZY-12 ~]# sed -i.bak '$a export FAP_HOME=/opt/FAP_HOME' /etc/profile         
# i.bak 把修改内容保存到profile,同时会以profile.bak文件备份原来未修改文件内容,以确保原始文件内容安全性,防止错误操作而无法恢复原来内容

 2. 替换文件中的某个字段

  如:将文件file.txt中的db.url=jdbc:oracle:thin:@10.10.66.67:1521:orcl替换为db.url=jdbc:oracle:thin:@10.10.66.68:1522:ufgovdb1

[root@ZWZF-CWY-LZY-12 ~]# sed -i 's/db.url=jdbc:oracle:thin:@10.10.66.67:1521:orcl/db.url=jdbc:oracle:thin:@10.10.66.68:1522:ufgovdb1/g' file.txt
# s表示替换;g表示全局匹配,没有g则只有第一次匹配被替换
#'/'分隔符有许多替换方案,如果规则表达式或替换字符串中有许多斜杠,则可以通过在's'之后指定一个不同的字符来更改分隔符。示例:sed -i 's#/usr/local#/usr#g' file.txt。此时是替换分隔符,sed会将/usr/local替换为/usr

  替换前后对比

 3. 替换文件中某行的某个字段

  如:文件/opt/cwy8.32/config/application.properties的第37、47行均存在#db.dialect=org.hibernate.dialect.Oracle10gDialect

  将文件application.properties的第47行的#db.dialect=org.hibernate.dialect.Oracle10gDialect替换为db.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

[root@ZWZF-CWY-LZY-12 ~]# sed -i '47s/#db.dialect=org.hibernate.dialect.Oracle10gDialect/db.dialect=org.hibernate.dialect.MySQL5InnoDBDialect/g' /opt/cwy8.32/config/application.properties
# 47代表文件第47行

  修改前后对比

4. 在文件的某行的下一行添加配置

  如:在文件redis.conf中1024行的下一行追加配置:maxmemory-policy volatile-lru

sed -i '1024a maxmemory-policy volatile-lru' /opt/redis-cluster/redis03/redis.conf
#a append,表示追加指令
#1024是行号

拓展

sed -i 命令详解: https://blog.csdn.net/qq_42767455/article/details/104180726

sed入门详解教程: https://www.cnblogs.com/liwei0526vip/p/5644163.html

本人常用的sed命令用法的更多相关文章

  1. sed命令用法详解

    sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space) ...

  2. SED命令用法整理

    sed '/Started/'q  匹配到Started字符串则退出sed命令 sed '/Started/{/in/q}'  同时匹配到Started和in两个字符时则退出sed命令 ------- ...

  3. Linux sed命令用法

    概述 sed命令是一个面向字符流的非交互式编辑器,不允许用户与它进行交互操作.sed是以行为单位处理文本内容的.在shell中,可以批量修改文本内容. 用法 sed [选项] [动作] 选项与参数:- ...

  4. shell脚本基础——常用的sed命令举例

    一般在实际使用编辑器的过程中 , 常需要执行替换文件中的字符串.移动.删除.与搜寻数据行等等动作.当然 , 一般交互式编辑器(如 vi.emacs)都能做得到上述功能 , 但文件一旦有大量上述编辑需求 ...

  5. sed命令用法

    Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查 ...

  6. <三剑客> 老二:sed命令用法

    sed命令的用法: sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ...

  7. sed 命令用法

    Sed:对文件进行编辑操作,对象是行.操作后在屏幕输出结果.如果要直接修改则加-i命令-f filename: 执行某文件内的sed命令-n 只显示被修改的那一行 如文件test内容:Letyou a ...

  8. dockerfile编辑时常用的sed命令,用来修改配置文件。

    sed 替换部分文件内容 随着使用,会逐步更新. #替换整行sed '/mengqingbo/c lanqiuxiaozi="FALSE"' fileName #匹配行前加sed ...

  9. Linux实战教学笔记12:linux三剑客之sed命令精讲

    第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...

随机推荐

  1. JZM 的印象笔记 (卷积,分块)

    题面 题目背景 大名鼎鼎的 OI 天花板选手 JZM 对自己的好伙伴--印象笔记有些生疏了 题目描述 作为一名 OI 选手,他的笔记中的字母只包含数字0和1. JZM 在印象笔记中找到了一行 N N ...

  2. C#基础_变量的命名规则

    变量: 1.作用 :可以让我们在计算机中存储数据 2.语法:变量类型    变量名=赋值: 3.常用的数据类型:  int   整数类型  取值范围:最大2147483647;最小-214748364 ...

  3. 【java】学习路线6-静态方法、私有化方法、父类子类

    import java.util.Arrays; /* 我们可以自己创建方法(静态) 私有化方法,阻止他人实例化该方法 静态代码块只执行一次,只在加载这个所在类的时候执行 父类 - 子类 子类继承自父 ...

  4. JavaScript设计模式及代码实现——单例模式

    单例模式 1 定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 2 应用时机 当一个类的实例被频繁使用,如果重复创建这个实例,会无端消耗资源.比如 dialog 弹窗会被全局重复使用 业务 ...

  5. KingbaseES 如何把一个schema下的所有对象访问权限授权给其他用户

    用户需求:新建一个用户 B,需要能够查询A用户的所有表,并且对以后新建的表也要有select权限. 问题分析:对于现有的表可以通过动态sql批量进行授权,但是未来新建的表要如何进行授权呢? 查询了帮助 ...

  6. Mac_mysql_密码重置

    1 通过Mac 的设置 stop mysql 2 跳过权限认证 // 进入数据库指令文件 cd /usr/local/mysql/bin // 跳过权限认证 sudo ./mysqld_safe -- ...

  7. 【SQLServer】max worker threads参数说明

    本文介绍如何使用SQL Server Management Studio或Transact-SQL在SQL Server中配置最大工作线程服务器配置选项. max worker threads选项配置 ...

  8. flutter系列之:flutter中常用的ListView layout详解

    目录 简介 ListView详解 ListView中的特有属性 ListView的构造函数 ListView的使用 总结 简介 ListView是包含多个child组件的widget,在ListVie ...

  9. 【项目实战】pytorch实现逻辑斯蒂回归

    视频指导:https://www.bilibili.com/video/BV1Y7411d7Ys?p=6 一些数据集 在pytorch框架下,里面面有配套的数据集,pytorch里面有一个torchv ...

  10. EFK-4::ElasticSearch集群TLS加密通讯

    转载自:https://mp.weixin.qq.com/s?__biz=MzUyNzk0NTI4MQ==&mid=2247483822&idx=1&sn=6813b22eb5 ...