目录

1、sed的介绍
2、sed的基本选项和用法
3、sed的高级用法
4、正则表达式符号


1、sed的介绍

  sed是一种流编辑器,它在没有加选项的情况下,不会对文件本身进行修改,只会显示修改结果在终端上,sed在处理空间时,会把当前行放到一个缓冲区中,称为“模式空间”,如果还需要处理,将模式空间中的行在放入‘’保持空间‘’,在需要的时候,在放到模式空间,经过一系列的处理,最终输出到终端上,sed也支持正则表达式。
文本编辑工具sed查看工具grep和正则表达式

2、sed的基本选项和用法

基本选项
基本选项只会把文本内容传输到模式空间进行处理。
文本编辑工具sed查看工具grep和正则表达式
基本选项举例
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式
编辑命令举例
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式
查找替换功能
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式
文本编辑工具sed查看工具grep和正则表达式

3、sed高级用法

文本编辑工具sed查看工具grep和正则表达式

4、grep介绍

是一种文本搜索,根据用户指定的“模式”对目标文本进行匹配检查,打印匹配,支持正则表达式。

5、grep选项

文本编辑工具sed查看工具grep和正则表达式

6、grep举例使用

文本编辑工具sed查看工具grep和正则表达式

文本编辑工具sed查看工具grep和正则表达式

文本编辑工具sed查看工具grep和正则表达式

文本编辑工具sed查看工具grep和正则表达式

文本编辑工具sed查看工具grep和正则表达式

7、正则表达式符号

基本正则表达式符号

正则表达式 描述 实例
/ 转义,将特殊字符转变成本身意义 echo $PS1 和 echo \$PS1 前者的意思是输出变量的结果,后者是输出$这个字符
^ 匹配行首,从行首开始皮皮额匹配 sed 's/^#//' file 表示把所有开头为#号的全部替换成空白
$ 匹配行尾一直匹配到行尾 sed 's/.conf$/.sh/' file 表示把以.conf结尾的行替换成以.sh结尾
. 除\n外,匹配任意字符 sed 's/r..t/user/' 表示中间两个字符不管是什么,匹配两边就行
[ ] 匹配包含在[字符]之中的任意一个字符 grep "[abc]" file 表示寻找该文件中所有的小写abc字母
[^] 匹配除了[ ] 之外的任意一个字符 grep "[^a]" file 表示出了a其他字符都匹配
[-] 匹配[ ] 中 - 两侧划分范围中的任意一个字符 grep "[0-9]" file 表示所有0-9的数字都匹配
匹配之前的项1次或0次 grep "[0-9]\?" file 表示0-9之间任意一个数字匹配0次或者1次
+ 匹配之前项1次或者多次 grep "[0-9]\+" file 表示0-9之间任意一个数字至少匹配一次,可以是多次
* 匹配之前项0次或者多次 grep "[0-9]*" file 表示0-9之间任意一个数字匹配0次或多次
( ) 匹配表达式,创建一个用于匹配的子串 grep "([0-9][0-9])\+" file 表示的两个[ ] 中的字符是一个整体
{n} 匹配之前项n次,n可以是正整数 grep "[0-9]\{5\}" file 表示前面匹配5次
{n, } 匹配之前项最少n次 grep "[0-9]\{5,\}" file 表示前面最少匹配5次,可以是5次以上
{n,m} 匹配之前项最少n次,最多m次 grep "[0-9]\{1,3\} file 表示最少匹配1次,最多匹配3次"
{,m} 匹配之前最多m次 grep "[0-9]{,3}" file 表示最少可以是0次,最多为3次

POSIX字符类,只匹配类型,不匹配次数

正则表达式 描述 举例
[:alnum:] 匹配任意一个字母或数字 grep "[[:alnum:]]\+ file 表示至少一次字母或者是数字都匹配"
[:alpha:] 匹配任意一个字母 grep "[[:alpha:]]\+" file 表示至少一次字母,不管大小写
[:blank:] 匹配空格 grep "^[[:blank:]]\*^$" file 表示所有的空白行
[:digit:] 匹配任意一个数字 grep "[[:digit:]]\+" file 表示匹配所有的数字
[:lower:] 匹配任意一个小写字母 grep "[[:lower:]]" file 表示所有小写字母
[:upper:] 匹配任意一个大写字母 grep "[[:upper:]]" file 表示所有代谢字母
[:punct:] 匹配标点符号 grep "[[:punct:]]" file 表示所有的标点符号
[:space:] 匹配一个包括换行符,回车等在内的空白字符 grep "[[:space:]]" file 表示所有空白字符,包括回车等
[:graph:] 匹配一个可以看见且可以打印的字符 grep "[[:graph:]]" file 表示匹配所有可见的打印字符
[:xdigit:] 匹配任意一个十六进制 grep "[[:xdigit:]]" file 匹配所有十六进制的字符
[:cntrl:] 匹配一个任意控制字符 grep "[[:cntrl:]]" file 匹配所有控制字符
[:print:] 匹配任意一个可以打印的字符 grep "[[:print:]]" file 匹配所有可以打印的字符

元字符

正则表达式 描述
\b 锚定单词边界与\<或 \>作用一样
\B 非单词边界
\d 单个数字字符
\D 单个非数字字符
\w 单个单词字符
\W 单个非单词字符
\n 换行符
\s 单个空白字符
\S 单个非空白字符
\r 回车
\t 横向制表符
\v 垂直制表符
\f 换页符