sed 找出含有某个字符串的行 注释掉
2024-10-19 16:22:40
1、源文件例子
[root@node1 ~]# cat /etc/fstab #
# /etc/fstab
# Created by anaconda on Mon Mar 1 18:32:15 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=3fa2b010-61bc-480e-bd49-cb7bee120fe3 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
[root@node1 ~]#
2、cp一个文件出来 测试修改 fs.txt
sed -i '/swap/s/^/#/g' fs.txt
3、diff看一下 ok了
[root@node1 ~]# diff fs.txt /etc/fstab
11c11
< #/dev/mapper/centos-swap swap swap defaults 0 0
---
> /dev/mapper/centos-swap swap swap defaults 0 0
[root@node1 ~]# cat /etc/fstab
4、如果要幂等执行 得判断是否被注释过了 如果注释过了 则不执行 不然就执行 然后再判断 这个适合用 until 命令
until grep swap fs.txt |grep "#" >/dev/null;do echo "disable swap" && sed -i '/swap/s/^/#/g' fs.txt;done
5、测试OK 换成实际环境 就是下面的 可以重复执行
until grep swap /etc/fstab |grep "#" >/dev/null;do echo "disable swap" && sed -i '/swap/s/^/#/g' /etc/fstab;done
最新文章
- IQueryable join 的问题
- 利用jstree插件轻松构建树应用
- 【leetcode】Unique Binary Search Trees
- 链表之求链表倒数第k个节点
- CPU affinity 进程和线程的亲缘性
- linux 消息队列例子
- 解决MVC模式文件下载附件中文名称乱码
- dedecmsV5.7和discuz!X3.4整合之后免激活登陆
- Linux系统下进入目录文件需要什么权限?
- 20.Odoo产品分析 (三) – 人力资源板块(1) – 员工目录(1)
- 手写LRU算法
- springboot 注解版案例
- MBTiles 1.2 规范翻译
- swiper3d横向滚动多张炫酷切换banner
- iOS设计模式 - 代理
- VS2010中遇到_WIN32_WINNT not defined
- .NET基础 (07)异常的处理
- ios轮播
- Python 集合常用方法总结
- tomcat集群基于Nginx——共享同一个应用