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) |