sed 技巧

1、sed 删除指定行

  1. sed -i '/GATEWAY/d' ifcfg-bond1

2、sed 删除文件中指定日期之前的所有行

  1. /bin/sed -i "1,/`date +%Y-%m-%d -d '-7 day'`/d" /root/cpu_status.log

3、sed 插入文件中指定行之后

  1. sed -i '1 a\ \ - 192.168.1.1' /etc/salt/minion
  2. sed -i '/# Port 22/a\ \ \ Port 2222' /etc/ssh/ssh_config

4、sed 插入文件中指定行之前

  1. sed -i '2 i\ \ - 192.168.1.1' /etc/salt/minion

5、多行合并成一行

把a.txt里面的第3-6行内容复制到b.txt里面的第7行

  1. sed -i '7i`sed -n "3,6p" a.txt |xargs`' b.txt

或者

  1. sed -i '7i'"`sed -n "3,6p" a.txt |xargs`" b.txt

6、多行插入

把a.txt里面的第3-6行内容复制到b.txt里面的第7行后

  1. sed -n "3,6p" a.txt >temp ; sed -i '7 r temp' b.txt; rm -f temp

7、sed 替换到行尾

  1. sed -i "s/SELINUX=.*$/SELINUX=disabled/g" /etc/sysconfig/selinux

8、sed 打印指定行

  1. sed -n '3,5p' file.txt

9、sed 删除指定行到最后一行

  1. sed -i '17,$d' file.txt


来自为知笔记(Wiz)


posted on 2016-08-25 14:34  jedy8  阅读(256)  评论(0编辑  收藏  举报

导航