sed 流编辑器

2017-08-21 0 By admin

stream editor for filtering and transforming text
流编辑器用于过滤和转换文本

Sed 命令一次处理一行内容
首先:把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space)
然后:sed命令处理“模式空间”的文本内容;处理完后,打印到屏幕中。接着处理下一行。

Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等
sed [OPTION]… {script-only-if-no-other-script} [input-file]…

参数:

-n, –quiet, –silent: 安静(silent)模式。打印匹配处理过的内容,不打印没有匹配处理的内容
-e script, –expression=script: 将脚本添加到要执行的命令
-f script-file, –file=script-file: 将脚本文件的内容添加到要执行的命令中
-r, –regexp-extended: 在脚本中使用扩展的正则表达式。
-i[SUFFIX], –in-place[=SUFFIX]: 编辑文件(如果提供SUFFIX,则进行备份)
-c, –copy: 在-i模式下混洗文件时使用复制而不是重命名

定位行 Addresses

sed [n1[,n2]] actions
用于设置sed命令处理文件内容的指定行范围

actions:

a :追加 在指定行后,追加指定内容
c :行替换 使用内容,替换指定行的内容
d :删除 删除指定的行
i :插入 在指定行前,插入指定内容
p :打印 将指定的列打印出来(常用于安静模式)
s :替换:s/regexp/replacement/ 使用字符串替换指定字符串