sed 技巧
1、sed 删除指定行
sed -i '/GATEWAY/d' ifcfg-bond1
2、sed 删除文件中指定日期之前的所有行
/bin/sed -i "1,/`date +%Y-%m-%d -d '-7 day'`/d" /root/cpu_status.log
3、sed 插入文件中指定行之后
sed -i '1 a\ \ - 192.168.1.1' /etc/salt/minion
或
sed -i '/# Port 22/a\ \ \ Port 2222' /etc/ssh/ssh_config
4、sed 插入文件中指定行之前
sed -i '2 i\ \ - 192.168.1.1' /etc/salt/minion
5、多行合并成一行
把a.txt里面的第3-6行内容复制到b.txt里面的第7行
sed -i '7i`sed -n "3,6p" a.txt |xargs`' b.txt
或者
sed -i '7i'"`sed -n "3,6p" a.txt |xargs`" b.txt
6、多行插入
把a.txt里面的第3-6行内容复制到b.txt里面的第7行后
sed -n "3,6p" a.txt >temp ; sed -i '7 r temp' b.txt; rm -f temp
7、sed 替换到行尾
sed -i "s/SELINUX=.*$/SELINUX=disabled/g" /etc/sysconfig/selinux
8、sed 打印指定行
sed -n '3,5p' file.txt
9、sed 删除指定行到最后一行
sed -i '17,$d' file.txt