一、Sed简介
Sed:StreamEditor流式编辑器又称行编辑器,每次只编辑一行。Sed工作是在模式空间中进行的,并不操作源文件。对源文件无危害。
二、Sed使用格式
Sed命令的常用格式如下:
(1)Sed[options]‘script’input_file
(2)Sed[options]–fscript_fileinput_file
(3)Sed[options]‘ADDR1,ADDR2command’input_file
例如:#sed’1,2d’fstab就可以将fstab的前两行删除并显示出来,但是它不会改变源文件。
#Sed‘1,2!d’fstab表示删除除第一行和第二行之外的所有行。
(4)Sed[options]‘/PATTERN/command’input_file
&:s/l..e/&er/:表示引用前面匹配到的所有字符。
例如:sed‘/[[:upper:]]/d’binary.sh表示删除所有的大写字母的行。
(5)Sed‘/PATTERN1/,/PATTERN2/command’input_file
说明:这表示从第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中间的所有行执行command命令。
三、Sed的常用选项:
-n:只显示sed匹配到的行。其余行不显示。下文有范例。
-i:可以直接操作原文件。默认情况下sed不会改变原文件,但是-i选项可以修改原文件,此选项应慎用。
-r:可以使用标准正则表达式。默认情况下sed只支持基本正则表达式,但是加上-r选项后则支持扩展正则表达式
-e:多脚本共用。可以同时执行多个命令。例如:
复制代码