Unix sed高级工具的讲解

系统 其他OS
Unix sed的名字来源于stream editor(流编辑器),是个过滤文本的工具.在使用sed编辑文件时,可以指定文件名,或从标准输入中得到输入.

我们今天来学习下Unix sed的知识.在Unix系统中,许多编辑工作都是用vi来完成的,因为vi是Unix系统上典型的编辑器,在很多时候,并不必须启动vi,您可能正在写一个shell程序,或用管道在进程之间传递信息,此时需要以非交互式的方式来编辑,而Unix sed在这时候就很有作用了.

Unix sed的名字来源于stream editor(流编辑器),是个过滤文本的工具.在使用sed编辑文件时,可以指定文件名,或从标准输入中得到输入.sed每次读一行,并对每行作指定的编辑工作.同样可以指定特定的行号,供Unix sed进行编辑.sed的许多用法与ed相同.

可以用下面两种方式调用Unix sed:
 

  1. sed [-n][-e] 'command' filename(s)  
  2. sed [-n] -f scriptfile filename(s) 

sed的第一种格式用于在命令行中执行命令.默认情况下,sed将显示所有行,-n 表示只需要打印p命令指定的行.第二种格式允许指定一个或多个包含编辑命令的脚本.下面是Unix sed的两种不同格式中的三个选项进行总结:
-n 只打印用p命令指定的行
-e command -e后的参数是一个编辑命令
-f filename -f后的参数是包含编辑命令的文件

下面看几个例子:

  1. sed -n 16,18p passwd.test 打印passwd.test的16到18行.  
  2. sed 16,18d passwd.test 删除passwd.test的16到18行.  
  3. sed '/bsh/ d' passwd.test 删除包含bsh的行.  
  4. sed '/bsh/ ld' passwd.test 删除除bsh行以外的行 

前面仅仅用了Unix sed中的一些很表面的命令,下面总结了Unix sed的命令:
命令 说明
a 添加文本
b 转移到标签处
c 用文本替换行
d 删除当前文本缓冲区
i 插入文本
P 从模式空间开始打印,知道出现新行
r 读入模式
s 替换模式
y 转换字符

【编辑推荐】

  1. Unix连接知识讲解之文件的连接和符号连接
  2. Unix系统文件使用chmod的一些例子
  3. 对Unix文件的属性知识深入讲解
  4. 一起来学习Unix文件知识详细分析
  5. 讲解非常重要的Unix文件
责任编辑:小霞
相关推荐

2010-05-04 17:24:28

Unix系统

2010-04-08 16:40:35

2010-04-30 16:08:20

Unix内核

2010-04-30 14:26:27

Unix FreeBS

2010-05-04 11:59:39

Unix系统

2010-05-05 17:30:04

Unix MBB

2010-04-21 15:20:31

Unix线程

2010-05-05 13:13:55

Unix内核

2010-05-05 16:05:36

Unix cfengi

2010-04-30 13:27:26

Unix cronta

2010-05-05 13:45:21

Unix Telnet

2010-05-04 12:25:28

Unix链接

2010-05-05 10:19:51

Unix系统

2010-04-30 13:38:51

Unix at命令

2010-05-05 17:41:03

IBM Unix

2010-05-04 09:22:10

Unix文件

2010-05-06 17:03:49

Unix命令

2010-05-07 17:41:36

BSD Unix

2010-04-30 14:51:23

Unix系统

2010-04-21 12:12:56

Unix 消息队列
点赞
收藏

51CTO技术栈公众号