正则表达式与特殊符号

特殊符号

'':所见所得,有什么输出什么,如echo '$pwd'输出$pwd
"":里面的特殊符号分被解析运行,如echo "$(hostname)":输出主机名
``:等于$()里面的命令会被先执行,如echo "hello  `pwd`":输出hello 路径
>:标准重定向,先清空后追加到文件最后
>>:追加重定向,不清空内容追加到文件最后
2>:错误重定向,只有错误的信息才会追加到文件中
2>>:错误追加重定向
~:用户家目当,root用户:/root,普通用户:/home/用户名
!:查找并运行历史命令
#:注释,root用户的命令提示符
$:取出变量的内容,普通用户的命令提示符
*:表示所有
\:转义字符
&&:前面的命令执行成功后再执行后面的命令
||:前面的命令执行失败再执行后面的命令

通配符详解

通配符一般是用来进行查找文件名,如.txt,.log

*:表示所有任意

{}:表示生成序列

正则表达式

使用正则的注意事项

  • 正则表达式是按照行进行处理的
  • 正则表达式不能用中文符号
  • 给grep与egrep添加别名

正则分类

正则主要分两类:基础正则(bre)与扩展正则(ere)
基础正则(basic regular expression)有:^ $ . * [],支持的命令有:grep,sed,awk
扩展正则(extended regular expression)有:| + () {} ?,支持的命令有grep -E/grep,sed -r,awk

基础正则表达式

.号:表示任意一个字符,不包括空行

\转义符:表示把字符以最原始的方式输出

*星号:表示前一个字符出现0次或者1次以上

.*结合起来使用表示所有

[]中括号:查找里面包括的字符,如[abc],找出包括a或b或c的字符

[^]:表示排除里面的字符

[]中括号其它用法

扩展正则表达式

+:表示前一个字符出现1次或者多次以上

|:表示或者


|与[]的区别:

  • |:表示单个字符或者多个字符
  • []:表示单个字符
():表示括号中的字符是一个整体,后向引用(反向引用)

给123456前面加上<>

{n,m}:表示前一个字符出现n次或者m次

?:表示前一个字符出现0次或者1次
posted @ 2019-01-15 17:08  游走在边缘的人  阅读(1458)  评论(0编辑  收藏  举报