##流编辑器sed

###介绍


sed(stream editor,流编辑器)是一个批处理编辑器,可以对来自文件或者标准输入的输入流进行转换。sed通常就被用作管道中的过滤器。
sed一次处理一行文本并且把处理结果输出送往标准输出设备。sed把当前处理的行存储在临时缓冲区,称为模式空间,一旦sed完成对模式空间中的行的处理,模式空间的行被送完屏幕。行被处理完成以后,就被移出模式空间,程序接着读入下一行,处理,显示,移除。通过存储每一行在临时缓冲区,缓冲区操作该行,保证了原始文件不被破坏。

###语法


sed [-n] program [file-list]
sed [-n] -f program-file[file-list]
sed [-n] [quiet]
sed [-n] [--silent][-n]
sed [-n] [--in-place[=suffix]][-l[suffix]]
sed [-n] [--help]

实例

$ vim show3-8
#!/bin/sed -f
2,8 p

//显示example文件的2到8行
$ sed -n -f show2-8 example

//显示example的2到6行
$ sed -n '2,6 p' example

指令

  • d 删除指令 删除指令导致sed不输出被选择的行
  • n 下一条指令 下一条指令输出当前选择的行,然后从输入中读入下一行
  • a 追加指令 追加命令在选择的行之后插入一行或多行文本。如果a指令前有俩个地址,那么选定的每一行之后添加文本
  • i 插入指令 插入指令与a指令相同,只不过i指令是将文本添加到选定的行之前
  • c 修改指令 修改指令与a指令和i指令类似。不同的是他将选定的行修改为新的文本,如果指定一个范围,c指令能把整个范围内的行换成新文本
  • s 替换指令 sed替换指令与vim中的类似
  • p 打印指令 打印指令将选定的行写入标准输出
  • w file 写指令 写指令和p指令类似,不同的时他将输出写入由file指定的文件中。w指令后接一个空格作为输出的文件名
  • r file 读指令 读指令读出指定文件的内容并添加到选定的行之后。r指令后接一个空格和作为输入的文件名
  • q 退出指令 退出指令使得sed立即结束

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

Android添加国内镜像下载sdk 上一篇
shell复习7-gawk与sed(2) 下一篇