Chinaunix首页 | 论坛 | 博客
  • 博客访问: 212207
  • 博文数量: 38
  • 博客积分: 1032
  • 博客等级: 少尉
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-14 18:14
文章分类

全部博文(38)

文章存档

2017年(2)

2016年(1)

2015年(10)

2012年(3)

2011年(1)

2010年(7)

2009年(14)

分类: LINUX

2010-03-25 04:29:28

 

Sed语法

   Sed  [-n]   ‘editing command ‘   [   file……….]

   Sed  [-n]  -e ‘editing command ‘ ……. [   file  ….. ]

   Sed  [-n]  –f   script-file ……….. [  file………]

Sed 常用选项

   -n   sed 默认在将下一行读入行缓冲区之前,自动输出缓冲区中的内容,些选项可以关闭自动输出

   -e   如果命令行上调用多个sed_cmd,必须在每条sed_cmd前加“-e 选项

 Eg:  sed  -e ‘sed_cmd1’  -e  ‘sed_cmd2’    input_file

 

Sed_cmd 格式 :     ‘[address] sed_edit_cmd’ (一般用单引号括起来)

 

                    Address  sed 的行定位模式,用于指定要被编辑的行

                    Sed_edit_cmd: 对被编辑行将要进行的编辑操作

 

Sed_cmd address 用于定位要编辑的行

X           x 为行号

X,y          :表示行号的范围

/pattern/      :查询包含模式的行

X,/pattern/    :在指定的行号上查询包含模式的行

X,y!         :查询不包含指定行号xy的行

常见的sed_edit_cmd

1)      P    :打印匹配的行

2)      =    :显示文本匹配行的行号

3)      a\    :在指定行(不能是多行范围)后附加N行新文本并显示新文本,多用于脚本

4)      i\     :在指定行前插入新文本并显示新文本,格式同a\

5)      d     :删除被指定的行

6)      c\     :用新文本替换被定位文本行并显示新文本 ,格式同 a\

7)      s      :替换内容

替换选项如下:

g :缺省情况下只匹配行中第一次出现的oldpattern ,使用g选项替换行全局中所有出现oldpattern

w  filename  :将被替换后的行内容写到文件filename

p :显示被替换后的行,省略p并使用了sed –n 选项,将看不到任何输出

如果要附加或修改一个字符串,可以&命令,&命令保存模式 oldpattern以便重新调用它,并把它放在替换字符串里面

8r  :从另一个文件中读文本附加到指定的行后,并显示读入的文本内容

9w :写文本到一个文件

10q :读取到address 定位的行后退出sed,以便执行其它处理脚本

11l :显示被定位行中的所有字符,包括控制字符

12{}  :在被定位的行上执行的命令组

13n  :从另一个文件中读文本下一行,并附加在下一行

 

  p = w  例子如下:

& g  的例子如下:

r l 的例子如下:

{ }  例子如下

虽然/是最常用的定界符,但任何可显示的字符都可以作为定界符。在处理文件名称时,通常都会以标点作为定界符(如分号; 冒号:或逗号,)

阅读(1878) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~