date: 2022-01-05title: sed命令汇总 #标题
tags: 基础指令 #标签
categories: linux大杂烩 # 分类

记录下sed常用语法。

查询2020-02-19 14:10到2020-02-19 14:15区间的日志

  1. sed -n '/2020-02-19 14:10:00/,/2020-02-19 14:15:00/p' dubbo-elastic-job.log

匹配某行后在开头添加字符

  1. # 匹配到Banner开头的行,在其行首添加 # 号
  2. $ sed '/^Banner/ s/^/#/' /etc/ssh/sshd_config -i

替换文件中指定开头的字符串

  1. $ sed -i 's#^basedir=.*#basedir=/data/mysql-3306/#' /data/mysql-3306/support-files/mysql.server
  2. # 匹配以loose-group_replication_start_on_boot开头的行,将其修改为 loose-group_replication_start_on_boot = "on"'
  3. sed -i '/^loose-group_replication_start_on_boot/c\loose-group_replication_start_on_boot = "on"' a.txt

匹配某行后,在其前一行或后一行添加内容

# 在匹配2222222222的行后(append)添加3333333333
$ sed -i '/2222222222/a\3333333333' test.txt

# 在匹配2222222222的行前(insert)添加3333333333
$ sed -i '/2222222222/i\3333333333' test.txt

获取域名解析的ip地址

nslookup www.baidu.com | sed -n -e '4,$p' | awk '/Address/{print $2}'