[CentOS7]sed 指定字符前后、下一行添加内容、匹配行内容
1. 指定字符前面添加
sed -i 's/指定的字符/需要添加的字符&/' 文件名称
-
修改Linux启动配置
- 将 GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
- 改为 GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap net.ifnames=0 biosdevname=0 rhgb quiet"
-
在rhgb之前添加 net.ifnames=0 biosdevname=0
# 备份配置文件
\cp /etc/default/grub /etc/default/grub.bak
sed -i 's/ rhgb/ net.ifnames=0 biosdevname=0&/' /etc/default/grub
# cat /etc/default/grub
......
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap net.ifnames=0 biosdevname=0 rhgb quiet"
2. 指定字符后面添加
sed -i 's/指定的字符/&需要添加的字符/' 文件名称
- 在GRUB_CMDLINE_LINUX=" 后面添加 ipv6.disable=1
# 备份配置文件
\cp /etc/default/grub /etc/default/grub.bak
sed -i 's/GRUB_CMDLINE_LINUX="/&ipv6.disable=1 /' /etc/default/grub
# cat /etc/default/grub
......
GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap net.ifnames=0 biosdevname=0 rhgb quiet"
sed -i '/<匹配内容>/d' 文件路径
# 删除nginx.conf ::行
sed -i '/::/d' /etc/nginx/nginx.conf
3. 指定字符下一行添加
sed -i '/指定的字符/a\需要添加的字符' 文件名称
[root@ftp nsxbackup]# cat /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@ftp nsxbackup]# sed "/pam_shells.so/a \*****" /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
*****
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
4. 指定字符上一行添加
sed -i '/指定的字符/i \需要添加的字符' 文件名称
[root@ftp nsxbackup]# cat /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@ftp nsxbackup]# sed "/pam_shells.so/i \*****" /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
*****
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
5. 指定行首未添加
sed -i /<匹配内容>/{s/查找/替换/g;s/查找/替换/g} <文件路径>
[root@ftp nsxbackup]# cat /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@ftp nsxbackup]# sed "/pam_shells.so/{s/^/#&/g;s/$/&@/g}" /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so@
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具