sed在匹配行前面添加注释# ,或者取消注释#

您所在的位置:网站首页 sed指定行首添加字符 sed在匹配行前面添加注释# ,或者取消注释#

sed在匹配行前面添加注释# ,或者取消注释#

2024-07-10 01:21| 来源: 网络整理| 查看: 265

测试文件:

cat iptables22.txt -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j DROP -A INPUT -p tcp -m tcp --dport 443 -j DROP

一、在文件的匹配行前面加上#注释: 需求:给DROP前面全部加上注释

sed -i "s/^[^#].*DROP$/#&/g" iptables22.txt #: s:替换 #: ^:开头匹配 #: [^#]:匹配非# #: #&:中的&代表匹配整行,整个意思就是行前面加上#号 #: g:全部(只匹配特定行不加)

效果如下:

cat iptables22.txt -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 80 -j DROP #-A INPUT -p tcp -m tcp --dport 443 -j DROP

二、在文件的匹配行前面取消#注释: PS:不是删除注释句

需求:取消DROP前面的注释

sed -i "/^#.*DROP$/s/^#//" iptables22.txt #:^#//:去掉代表开头的#

效果如下:

cat /root/iptables22.txt -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j DROP -A INPUT -p tcp -m tcp --dport 443 -j DROP


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3