SED

简介

本文档意在简单实用,少量说明语法,主要以实例讲解为主。

替换匹配字符的行

 # sed -i "/BUILD_NUMBER=/cBUILD_NUMBER=$1" file
 或者
 # sed -i '/^BUILD_NUMBER=/c'"BUILD_NUMBER=$1" file

替换指定的内容

 # sed -i "s/source content/dest content/g" file
 将file中source content 替换为dest content

匹配行前插入指定内容

 # sed -i "/LAUNCH_JBOSS_IN_BACKGROUND/a\export ldc=ABNER" file

在指定行插入指定内容

 # sed -i "259a\JAVA_OPTS=\"\$JAVA_OPTS -Duser.timezone=GMT+08\"" FILE 

删除匹配到指定内容的行

 # sed -i '/server/d' file

格式化输出

# df -h|sed '1d;/ /!N;s/\n//;s/ \+/ /;'

  1d——————删除第一行
  / /!N——————没有空格的行执行N
  例子中没有空格的行
  /dev/mapper/vg_dsidealyy-lv_root/dev/mapper/vg_dsidealyy-lv_home
  s/\n//——————pattern空间内的换行替换为空格
  s/ \+/ /——————N多空格替换为一个空格

用于处理:df -h 输出结果的字段不在同一行