Unix爱好者家园最引人注目的广告位!
  欢迎 xiaolei 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心

加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 网站留言 论坛 站内搜索 卓越资源 源代码

今天是:2010年03月15日 星期一  您现在位于: 首页 → 技术文章 → sed函数参数大全(3)
   sed函数参数大全(3)
作者:  出处:Unix爱好者家园unix-cd.com  更新时间: 2006年01月09日 
4.13 q

      

函数参数 q 表示跳离 sed 。其指令格式如下: 

     [address1] q 




对上述格式有下面几点说明 : 

函数参数 q 最多配合一个地址参数。 
sed 执行跳离动作时 , 它停止输入 pattern space 数据 , 同时停止数据送到标准输出文件。 
范例 : 
题目: 对文件文件执行 script_file 内的编辑指令 , 除非遇到 "Linux" 字符串。 
说明: 无论 script_file 内是何种指令 , 使用者只要在命令列上用指令/Linux/q , 函数参数 q 会强迫 sed 遇到 "Linux" 时做跳离动作。 
sed 命令列如下 : 
sed -e '/Linux/q' -f script_file  input.dat

4.14 =

      

函数参数 = 表示印出资料的行数。其指令格式如下: 

     [address1 ,[address2]] = 


对上述格式有下面几点说明 : 

函数参数 = 最多配合两个地址参数。 
执行时 , 行数将在数据输出前先输出。 
范例 : 
题目: 印出 input.dat 文件内资料行数。假设 input.dat 的内容如下 : 
The UNIX
Operating System

说明 : 用函数参数 = 来印出资料的行数。 
sed 命令列如下 : 
sed -e '=' input.dat

执行上述命令后 , 输出的结果如下 : 
1
The UNIX
2
Operating System

4.15 #

      

在 script file 内 , 函数参数 # 后的文字为注解。当注解文字超过多行时 , 其行间须以 "\" 换行字符相隔。

4.16 N

      

函数参数 N 表示添加下一笔资料在 pattern space 内。其指令格式如下: 

     [address1 ,[address2]] N 


对上述格式有下面几点说明 : 

函数参数 N 最多配合两个地址参数。 
sed 执行时 , 将下一行数据读入并添加在 pattern space 内 , 数据行间以换行字符(embedded newline character)分隔。此外 , 在替换时 , 换行字符可用 \n 来 match。 
范例 : 
题目: 将下述两行数据合并。假设 input.dat 的内容如下 : 
The UNIX
Operating System

说明 : 先利用函数参数 N 将两行数据置于 pattern space 内 , 在利用函数参数 s/\n/ / 将两行数据间的分隔号 \n 以空白替代 , 如此两行数据变成一行输出。 
sed 命令列如下 : 
sed -e 'N' -e 's/\n/ /' input.dat

执行上述命令后 , 其输出的结果如下: 
The UNIX Operating System

4.17 D

      

函数参数 D 表示删除 pattern space 内的第一行资料。其指令格式如下: 

     [address1,address2]D


对上述格式有下面几点说明 : 

函数参数 D 最多配合两个地址参数。 
函数参数 D 与 d 的比较如下 : 
当 pattern space 内只有一数据行时 , D 与 d 作用相同。 
当 pattern space 内有多行资料行时 
D 表示只删除 pattern space 内第一行资料  d 则全删除。 
D 表示执行删除后 , pattern space 内不添加下一笔数据 , 而将剩下的数据重新执行 sed script  d 则读入下一行后执行 sed script。 
范例 : 参考 section 3.3 的第二个例子。 

4.18 P

      

函数参数 P 表示印出 pattern space 内的第一行资料。其指令格式如下: 

     [address1,address2] P 


对上述格式有下面几点说明 : 

函数参数 P 最多配合两个地址参数。 
P 与 p , 除了面对的 pattern space 内的数据行数不同外 , 其它均相同。 
范例(可与[section4.12]中的范例): 
题目 : 输出 input.dat 文件内奇数行资料。假设 input.dat 档内容如下: 
The
UNIX
System

说明: 在命令列上 
以选项 -n , 将数据输出的控制权(参照[section2.5])转给指令。 
利用函数参数 N 将偶数行添加至 pattern space 内奇数行后。 
利用函数参数 P 将 pattern space 内的第一行(奇数行)输出。 
在奇数行输出后 , pattern space 内剩下的数据行(偶数行)则被放弃输出。最后 , 整个输出只有原先的奇数行数据。 
sed 命令列 : 
sed -n -e 'N' -e 'P' infro.dat

执行上述命令后 , 输出的结果如下 : 
The
System

4.19 h

      

函数参数 h 表示暂存 pattern space 的资料至 hold space。其指令格式如下: 

     [address1 ,[address2]] h 


对上述格式有下面几点说明 : 

函数参数 h 最多配合两个地址参数。 
sed 执行暂存动作时 , 会盖掉(overwrite) hold space 内原来的数据。 
当 sed 全部执行结束时 , hold space 内数据会自动清除。 
范例 :参考 section 3.4 的例子。 

4.20 H

      

函数参数 H 与 h 唯一差别是 , sed 执行 h 时 , 数据盖掉(overwrite) hold space 内原来的数据 , 而 H , 数据则是 "添加(append)" 在 hold space 原来数据后。例题请参考 section 3.2 之例一。 

4.21 g

      

   函数参数 g 表示与函数参数 h 相反的动作 , 它表示将 hold space 内资料放回 pattern space 内。其指令格式如下 : 

     [address1,address2]g




函数参数 g 最多配合两个地址参数。 
sed 执行放回动作时 , 数据盖掉(overwrite)(批注[13]) pattern space 内原来的数据。 
例题 :参考 section 3.4 的例子。 
 (本文已被浏览 6204 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:sed函数参数大全(2)
下篇文章:sed函数参数大全(4)
 相关文章:
模仿sed部分功能,c 的面向对象描述 SED单行脚本快速参考
shell学习资料汇总 Linux/Unix流编辑器Sed学习资料
sed命令详解 sed工具介绍实例
SED单行脚本快速参考(Unix 流编辑器) sed函数参数大全(4)
sed函数参数大全(2) sed函数参数大全(1)
在unix里替换文字的shell程序 sed学习笔记
在unix里替换文字的程序 sed应用实例

相关搜索
查看百度中关于sed函数参数大全(3)的更多内容
查看google中关于sed函数参数大全(3)的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备09036304号
    Copyright (c) 2001-2010 Unix-cd.com. All Rights Reserved.