阅 读 文 章

sed学习笔记

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]

  ++sed 编辑指令的格式如下 :

  [address1[,address2]]function[argument]

  #address1/2可为行数或regular expression, 函数参数 function[argument] 为 sed 的内定函数

  #/apple/,/orange/d 表示删除含有 "apple" 至 "orange" 字符串的数据行

  ++函数参数 功能列表: label 建立 script file 内指令互相参考的位置。

  # 建立批注

  { } 集合有相同位址参数的指令。

  ! 不执行函数参数。

  = 印出资料行数( line number )。

  a\ 添加使用者输入的数据。

  b label 将执行的指令跳至由 : 建立的参考位置。

  c\ 以使用者输入的数据取代数据。

  d 删除数据。

  D 删除 pattern space 内第一个 newline 字母 \ 前的数据。

  g 拷贝数据从 hold space。

  G 添加资料从 hold space 至 pattern space 。

  h 拷贝数据从 pattern space 至 hold space 。

  H 添加资料从 pattern space 至 hold space 。

  l 印出 l 资料中的 nonprinting character 用 ASCII 码。

  i\ 插入添加使用者输入的数据行。

  n 读入下一笔资料。

  N 添加下一笔资料到 pattern space。

  p 印出资料。

  P 印出 pattern space 内第一个 newline 字母 \ 前的数据。

  q 跳出 sed 编辑。

  r 读入它檔内容。

  s 替换字符串。

  t label 先执行一替换的编辑指令 , 如果替换成牛p>则将编辑指令跳至 : label 处执行。

  w 写资料到它文件内。

  x 交换 hold space 与 pattern space 内容。

  y 转换(transform)字符。

  ++ 函数参数 s 表示替换(substitute)文件内字符串。其指令格式如下 :

  [address1[ ,address2]] s/pattern/replacemen/[flag]

  #flag : 主要用它来控制一些替换情况 :

  当 flag 为 g 时 , 代表替换所有符合(match)的字符串 。

  当 flag 为十进制数 m 时 , 代表替换行内第 m 个符合的字符串。

  当 flag 为 p 时 , 代表替换第一个符合 pattern 的字符串后 , 将数据输出标准输出文件。

  当 flag 为 w wfile 时 , 代表替换第一个符合 pattern 的字符串后 , 输出到 wfile 檔内(如果 wfile 不存在 , 则会重新开启名为 wfile 的档案)。

  #数据文件的 "test" 被替换成 "test my car"

  sed -e 's/test/& my car/' filename ## &:代表其前 pattern 字符串

  #数据文件的 "test my car" 被替换成 "[my car test]"

  sed -e 's/\(test\) \(my\) \(car\)/[\2 \3 \1]/' filename #\n代表pattern中被第 n 个 \(XX\)所括起来的字符串

  ++函数参数 d 表示删除数据行 , 其指令格式如下:

  [address1[ ,address2]] d

  ++函数参数 a 表示将资料添加到文件中。其指令格式如下:

  [address1] a\ 使用者所输入的数据

  sed -e '/美国人/a\中国人' filename #添加 "中国人" 在含 "美国人" 字符串的数据行后

  #如果需要插入多行,可以加\n

  ++函数参数 i 表示将资料插入文件中。其指令格式如下:

  [address1] i\ 使用者所输入的数据

  ++函数参数 r 表示读入它档案内容到檔中。其指令格式如下 :

  [address1] r 它檔名称

  ++函数参数 w 表示将檔中的写到它檔内。其指令格式如下 :

  [address1[ ,address2]] w 它檔名称

  ++函数参数 y 表示转换数据中的字符。其指令格式如下 :

论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 笔记 学习 函数参数 数据 指令 space pattern 资料 sed

上一篇:Linux 编程之Bash中的变量

下一篇:没有了

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.