1、sed命令匹配文本内容进行替换
#-i 可以直接在原始文本中匹配替换,s/匹配内容/需要替换的内容/g ,g是以一行为全局,有g说明每行中匹配到的都需要替换,没有g说明,只需要替换每行中的第一个匹配到的。
sed -i 's/pool 2.rhel.pool.ntp.org iburst/#pool 2.rhel.pool.ntp.org iburst/' ./chrony.conf
修改前:
修改后:
2、向匹配到的内容的上一行或者下一行添加内容
# -i 会对原始文本进行修改。向word的上一行添加xiaoxiao
sed -i '/word/i xiaoxiao' 1.txt
#向word的下一行添加heihei
sed -i '/word/a heihei' 1.txt
3、向包含/的内容的上一行或者下一行添加内容
#如果匹配的内容是包括/的需要用\。a是向后一行添加,i是向前一行添加。
sed -i '/#allow 192.168.0.0\/16/a heihei' 1.txt
4、在sed命令中使用变量
#如果需要在sed命令中使用变量,那么就需要用引号包裹变量。如果变量含有特殊字符,就需要转义字符来处理特殊字符。
read -p "请输入一个网段:" allow_net
sed -i '/heihei/a '$allow_net'' 1.txt