sed的工作原理
sed是一种流编辑器以行为单位来处理文本的一款功能十分强大的编辑器,一次只处理一行内容,当处理文本是,将要处理的行放置在模式空间里(缓冲区),接下来sed命令处理模式空间里的内容,处理完成后,把模式空间里处理后的内容送至屏幕打印输出,接下来处理下一行,依次循环,知道文件尾部,默认sed是不编辑源文件的,仅对模式空间中的处理做处理,除非使用了-i选项来编辑源文件。
sed的用途
主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。
语法格式:
sed [OPTION]… {script-only-if-no-other-script} [input-file]..
选项
-n:不输出模式空间内容的自动打印,静默模式
-e:多点编辑也可以使用脚本 script –e script
-f:/path/to/scriptfile,从指定文件中读取编辑脚本
-r:支持使用扩展正则表达式
-i:编辑源文件
地址定界:
1、 不给地址:对全文进行处理
2、 单地址
#:指定的行,数字表示,如果想显示到屏幕上使用-n
sed ‘1p’ /etc/fstab
/pattern/:被此处模式所能匹配到的每一行
sed ‘/^UUID/p’ /etc/fstab
3、 地址范围
#,#:1,3表示的是文本的第一行到第三行
sed ‘1,3p’ /etc/fstab
#,+#:1,+3从第一行往后面的3行进行处理
sed ‘1,+3/^U