这周我们学习了很多比较深的命令,有点烧脑,这次我总结一下sed命令。
sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’ 的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
功能:主要用来自动编辑一个或多个文件, 简化对文件的反复操作,
-n :不输出模式空间内容到屏幕,即不自动打印
g: 行内全局替换
p: 显示替换成功的行
s/// :查找替换, 支持使用其它分隔符,s@@@ ,s###
地址定界:
(1) 不给地址:对全文进行处理
(2) 单地址:
#: 指定的行
/pattern/ :被此处模式所能够匹配到的每一行
(3) 地址范围:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~ :步进
1~2 奇数行
2~2
w: 保存模式匹配的行至指定文件
r:读取指定文件的文本至模式空间中匹配到的行后
加-r 可以使用正则
今天就先总结到这里吧
原创文章,作者:menger,如若转载,请注明出处:http://www.178linux.com/85597