CentOS
丛书目录 —
系
统管理 —
网络服务 —
应用部署
sed
和
awk
sed
sed
简介
sed
是一个流编辑器(
stream editor
)。
sed
是一个非交互式的行编辑器,它在命令行中输入编辑命令、指
定被处理的输入文件,然后在屏幕上查看输出。输入文件可以是指定的文件名,也可以来自一个管道的输出。
sed
不改变输入文件的内容,且总是将处理结果输出到标准输出,可以使用输出重定向将
sed
的输出保存到
文件中。
与
vi
不同的是
sed
能够过滤来自管道的输入。在
sed
编辑器运行的时候不必人工干涉,所以
sed
常常被称
作批编辑器 。此特性允许在脚本中使用编辑命令,极大的方便了重复性编辑任务。当对文件中大量的文本进行
替换时,
sed
将是一个有利的工具。
sed
以按顺序逐行的方式工作,过程为:
1.
从输入读取一行数据存入临时缓冲区,此缓冲区称为模式空间(
pattern space
)
2.
按指定的
sed
编辑命令处理缓冲区中的内容
3.
把模式空间的内容送往屏幕并将这行内容从模式空间中删除
4.
读取下面一行。重复上面的过程直到全部处理结束。
sed
命令的格式
sed
命令的格式如下:
格式
1
:
sed [OPTION] [-e] command1 [[-e command2] ... [-e commandn]] [input-file]...
格式
2
:
sed [OPTION] -f script-file [input-file]...
说明:
格式
1
:执行命令行上的
sed
编辑命令。可以指定多个编辑命令,每个编辑命令前都要使用
-e
参数,
sed
将对这些编辑命令依次进行处理。若只有一个编辑命令时,
-e
可以省略。
格式
2
:执行脚本文件中的
sed
编辑命令。当编辑命令很多时,可将所有的编辑命令存成
sed
脚本文件,然后
在命令行上使用
-f
参数指定这个文件。
常用参数:
-n : sed
在将下一行读入
pattern space
之前,自动输出
pattern space
中的内容。此选项可以关闭自
动输出,此时是否输出由编辑命令控制。
-r :
使用扩展正则表达式进行模式匹配。
input-file
:
sed
编辑的文件列表,若省略,
sed
将从标准输入中读取输入,也可以从输入重定向或管道获
内容提要
1.
掌握正则表达式的使用
2.
学会使用
sed
对文本文件进行行编辑
3.
学会使用
awk
处理文本