sed命令

格式:

  • sed ‘命令’ 文件名
  • sed ‘范围(条件)命令’ 文件名

参数

  • d: 删除命令
    这里的删除并没有真正操作文件,仅仅局限于显示

    1
    2
    3
    4
    5
    6
    7
    8
    sed '3d' filename # 使用数字表示第几行
    sed '3,5d' filename # 使用逗号表示第几行到第几行
    sed '$d' filename # $表示最后一行
    sed '1 ~ 2d' filename # 表示步长
    sed '/tom/d' filename # 正则表达式 用//引起来范围
    sed '/^tom/d' filename # 以tom开头的,删掉
    sed '/^tom/,/tom$/d' filename
    sed '/\btom\b/d' filename
  • s: 替换命令
    用法:s/old/new/标签
    标签后面加p,显示影响满足条件的行

  • n 不在屏幕上显示

    1
    2
    3
    4
    5
    6
    7
    sed 's/tom/TOM/' filename # 标签默认为1
    sed 's/tom/TOM/2' filename
    sed 's/tom/TOM/g' filename # 标签g为global
    sed '2,4s/tom/TOM/g' filename
    sed '2,4s/[tT][oO]m/TOM/g' filename # [Tt]表示T或者t都可以
    sed -n '2,4s/tom/TOM/g' filename
    sed -n '2,4s/tom/TOM/gp' filename