正则表达式2
sed工具和后面要介绍的awk工具能把替换的文档输出到屏幕上,sed和awk都是流式编辑器,是针对文档的行来进行操作的。
sed工具的使用
1. 匹配指定的行
创建一个sed目录,将grep目录下的passwd文件拷贝到该目录下;
sed命令的格式为:sed -n 'n'p filename,单引号内的n是一个数字,表示第几行;
-n:只显示要打印的行,不显示其他内容;
打印2到5行;打印全部则是‘1,$’;
匹配含root的行;
同样的,sed命令也支持特殊字符的用法;
sed命令加上-r选项,类似于grep -E;
sed命令加上-e选项可以实现多个行为;
sed命令匹配大小写使用命令'sed -n '/bus/'Ip test.txt';
2. 删除某些行
参数d表示删除的动作,它不仅可以删除指定的单行以及多行,而且可以删除匹配某个字符的行,还可以删除从某一行开始到文档结尾的所有行。
这里的删除只是在显示时不显示这些行,文档中的内容不会发生改变;
加上-i选项,可以删除文档中的内容;
3. 替换字符或者字符串
参数s表示替换,参数g表示本行全局替换,不加g则只替换本行出现的第一个,与vim的替换类似;
的
将文档的前10行,将第一段和最后一段替换位置(head 1.txt |sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/');
将文件中的英文字符全部删除,即替换为空;
在所有的行前面添加字符串;