天天看点

Linux 三剑客之SED

概述

sed 是stream editor(流编辑器)缩写,是操作、过滤、转换文本的强大工具,常用功能增删改查、过滤、取行;

一次处理一行内容. 把每一行送到'模式空间'再输出;

语法

sed [options][sed-commands][-f<script文件>][文本文件]

参数

Linux 三剑客之SED

[options]:

-n 仅显示处理后的结果

-i 可以直接修改文件内容

-e 以选项中指定的脚本来处理文本

-f 或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。

[sed-commands]:

a 新增

d 删除

c 取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行

p 打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

s 取代,s 的动作可以搭配正规表示法!例如 1,20s/old/new/g

i 插入(目前的上一行)

实例

  • 当前行后面新增: > nl passwd |sed '2a drink coffe'
    Linux 三剑客之SED
  • 当前行前面新增: > nl passwd |sed '2i drink coffe'
    Linux 三剑客之SED
  • 新增2行字符 :以反斜杠『 \ 』来进行新行的添加
    Linux 三剑客之SED
  • 删除行
    Linux 三剑客之SED
  • 替换行
    Linux 三剑客之SED
  • 只显示部分行
    Linux 三剑客之SED
  • 搜索有root关键字的行,使用-n时只显示匹配的行
    Linux 三剑客之SED
  • 搜索后执行命令
    Linux 三剑客之SED