六周第二次课(1月16日)
9.4/9.5 sed
9.4/9.5 sed
其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换。以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上。sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能。sed和awk都是流式编辑器,是针对文档的行来操作的。
- sed '/x/'p filename:匹配x字符
- sed -n '/x/'p filename:无关字符x的行不显示。
- sed -n 'n'p filename:单引号里的n是一个数字,表示显示的第几行。
- 在grep中使用的特殊符号(如^、$、. 、*等)同样也能在sed中使用
- 如果不想加脱义符,需要加-r
- 指定一个行范围显示
- sed命令加上-e选项可以实现多个行为
- -Ip:不区分大小写
- sed命令加上d:删除指定行。参数d表示删除的动作,仅仅是在显示器屏幕上并不显示这些行而已,文档不受影响。
- sed命令加上-i:删除指定行.
- 替换字符或字符串
参数s表示替换的动作,参数g表示全局替换,如果不加g则只替换本行出现的第一个,用户和vim的替换一样
- ():小括号在sed中属于特殊符号,用()把想要替换的字符打包成了一个整体,替换时则写成类似\1、\2或\3的形式。
上图(.*)是贪婪匹配,会一直匹配到最后一个:
- 除了可以使用 / 作为分隔符外,我们还可以使用其他特殊符号作为分隔符,如#和@
- &:匹配需要替换的内容。(.*)表示一整行
原文地址:http://blog.51cto.com/415326/2061720
时间: 2024-09-29 00:52:45