Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1366800
  • 博文数量: 245
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3094
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 14:51
文章存档

2011年(2)

2009年(152)

2008年(91)

我的朋友

分类:

2008-05-17 08:26:18



UNIX的管道功能很强大,一般sed经常和其他命令通过管道(|)联合使用。
也可以在vi中调用sed来对当前的编辑的文件进行处理。

Sed是可以对输入的数据执行一系列用户指定的命令。Sed是基于行的,指定
的sed命令将按顺序执行。


例子1:

#sed -e 'd' /etc/passwd

执行此命令,标准输出上什么也不没有。命令d删除当前行的内容。Sed打开
文件,读入一行到模式缓冲区,执行命令d(删除一行),然后打印模式缓冲
区(已经是空的)。Sed对文件中的每一行,重复执行刚才的步骤。这个命令
不产生任何输出,因为命令d删除了模式缓冲区的内容。

例子2:

#sed -e '1d' /etc/passwd

执行此命令删除输出流的第一行。此命令与例子1中的命令类似,命令d前面的
数字1代表输入文件的第一行。此命令的意思是对输入文件的第一行执行删除
命令d。不影响其它行。

例子3:

#sed -e '2,8d' <被操作的文件>

在sed中命令前面可以指定一个地址,或地址区间。地址可以是数字,代表文件
中的行号(从1开始),或者是正则表达式,代表匹配这个表达式的行。

#sed -e '/root/p' /etc/passwd

输出在文件/etc/passwd中包含root的行

#sed -e '/^root/p' /etc/passwd

输出在文件/etc/passwd中以root开始的行

#sed -e '/^root/,5p'

输出从以root开始的行到第5行
阅读(604) | 评论(0) | 转发(0) |
0

上一篇:sed 用法介绍

下一篇:sed实例解析

给主人留下些什么吧!~~