32、sed命令详解

sed(Stream editor)流编辑器,也叫行编辑器。sed是从管道或文件中读取一行,处理一行,然后输出一行,再处理一行,在输出一行,直到全部处理完成;每当处理一行时,会把当前处理行存储在临时缓冲区中,称为模式空间(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容打印到屏幕;特点:打开速度快,执行速度快。

sed命令格式

sed [option] ... 'script;script;...' inputfile...

sed常用选项

-n 不输出至屏幕,默认是输出至屏幕的

32、sed命令详解

-e 多点编辑,可以同时执行多个匹配更改

-f /path/script_file 从指定文件中读取编辑脚本

-r,-E  使用扩展正则表达式

-i.bak  备份文件并进行编辑保存

32、sed命令详解

script选项及格式

由地址格式+命令实现

地址格式

1、不停供,则全文读取

2、#:指定的行,$为尾行  /pattern/被pattern匹配的行

3、地址范围:#,# 从#行到第几行,如1,4表示1到4行;#,+#,从#行到#+#行;

   /pattern1/,/pattern2/ 从匹配pattern1到匹配pattern2行,一直往下匹配,不会中断

32、sed命令详解

4、步进:~   1~2 则显示 1 3 5 7.....

32、sed命令详解

命令

p  打印当前模式空间内容,追加到默认输出后,一般结合-n 选项使用

32、sed命令详解

I 忽略大小写输出

32、sed命令详解

d 删除模式空间匹配的行

a [\]text 在指定行后面追加文本,支持使用n加多行

32、sed命令详解

i [\]text 在指定行前面追加文本,支持使用n加多行

32、sed命令详解

c [\]text 替换行为text

32、sed命令详解

w /path/file 保存模式匹配的行到指定文件

32、sed命令详解

32、sed命令详解

r /path/file 读取指定文件的文本内容至模式空间中匹配的行后面

32、sed命令详解

=  为模式空间中的行打印行号

32、sed命令详解

!模式空间中匹配的行取反处理

32、sed命令详解

s/pattern/string/修饰符   查找替换,支持使用其他分隔符,如s@@@,S###等

g行内全局替换

p显示替换成功的行

w /path/file 将替换成功的行保存至文件中

I,i 忽略大小写

发表评论

相关文章