Linux通配符知识精简
2017-11-23 20:47
183 查看
Linux通配符知识精简
1.1 通配符知识
特殊符号:
输出重定向:把前面输出的东西输入到后面的文件中,会清除原文件的内容
> 追加输出重定向:把前面输出的东西输入到后面的文件中,不会清除原文件的内容
< 输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名
<< 追加输入重定向:后跟字符串,用来表示”输入结束”,也可用ctrl+d来结束输入
代表所有(0个或多个)字符 [b]
? 代表任意一个字符
; 分号连续不同的命令分割符[/b]
# 配置文件注释 [b]
| 管道
~ 代表当前家目录 [/b]
用户上一次的所在目录 [b]
$ 变量前需要加符号
/ 路径分隔符也是根的意思
‘’ 单引号,不具有变量置换功能,输出时所见所得 [/b]
“” 双引号,具有变量置换功能,解析变量后输出 [b]
• 反引号两个••中间为命令,会先执行,等价$() [/b]
{} 中间为命令区块或内容序号,类似seq,一般配合echo等命令使用,find里面的{}意思是前面命令的结果
! 感叹号,1:!+字母表示调出最近一次的以此字母开头的命令 2:!!表示使用最近一次的操作 3:!+数字 表示调出历史的第几条命令 4:取反的意思
&& and 并且的意思,当前一个指令执行成功时,执行下一个指令
|| or 或者的意思,当前一个指令执行失败时,执行下一个指令
\ 转义字符,让有意义的字符,脱掉它代表的意义 [b]
.. 2个点代表上一级目录 [/b]
. 一个点代表当前目录 *****
1.2 正则表达式原理
1、什么叫正则表达式
正则表示式就是为处理大量的字符串而定义的一套规则和方法
2、为什么要学会正则表达式
可以从大量的字符串内容里面查找符合自己需要的字符串。
1.3 基础正则字符说明
1、^word 匹配word开头的内容。 vi/vim编辑器里^代表一行的开头
例子:
[root@KING data]# grep "^m" oldboy.log
my blog is http://oldboy.blog.51cto.com
my qq num is 49000448.
my god ,i am not oldboy,but OLDBOY!
2、word$ 匹配word结尾的内容。 vi/vim编辑器里^代表一行的结尾
例子:
[root@KING data]# grep "m$" oldboy.log
my blog is http://oldboy.blog.51cto.com
3、^$ 表示空行
例子:
[root@KING data]# grep -n "^$" oldboy.log
3:
8:
4) . 点 代表且只能代表任意一个字符。
例子:
[root@KING data]# grep "." oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldboy,but OLDBOY!
5) \ 转义字符,例.就只代表点本身,让有着特殊身份的字符脱掉马甲,还原原型。
例子:
[root@KING data]# grep ".$" oldboy.log
my qq num is 49000448.
not 4900000448.
6) 重复0个或多个前面的字符,任意字符
例子:
[root@KING data]# grep "00" oldboy.log
my qq num is 49000448.
not 4900000448.
7) . 匹配所有字符。延伸^.以任意多个字符开头,.$以任意字符结尾
例子:
[root@KING data]# grep "^." oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldboy,but OLDBOY!
8)[abc] 匹配字符集合内的任意一个字符[a-z A-Z],[0-9]
例子:
[root@KING data]# grep "[ab]" oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my god ,i am not oldboy,but OLDBOY!
9)[^abc] 匹配不包含^后的任意一个字符的内容
例子:
[root@KING data]# grep "[^ab]" oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldboy,but OLDBOY
10) a{n,m} 重复n到m次,前一个重复的字符。
[root@KING data]# grep "0{2,3}" oldboy.log
my qq num is 49000448.
not 4900000448.
a{n,} 重复至少n次,前一个重复的字符。
[root@KING data]# grep "0{2}" oldboy.log
my qq num is 49000448.
not 4900000448.
a{n} 重复n次,前一个重复的字符。
[root@KING data]# grep "0{3}" oldboy.log
my qq num is 49000448.
not 4900000448.
a{,m} centOS5不能使用,centOS6可以,重复m次
[root@KING data]# grep "0{,3}" oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
11) + 表示重复“一个或一个以上”前面的字符
12) ? 表示重复“0个或一个”前面的字符
13) | 表示同时过滤多个字符串
14) () 分组过滤,后向引用
1.1 通配符知识
特殊符号:
输出重定向:把前面输出的东西输入到后面的文件中,会清除原文件的内容
> 追加输出重定向:把前面输出的东西输入到后面的文件中,不会清除原文件的内容
< 输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名
<< 追加输入重定向:后跟字符串,用来表示”输入结束”,也可用ctrl+d来结束输入
代表所有(0个或多个)字符 [b]
? 代表任意一个字符
; 分号连续不同的命令分割符[/b]
# 配置文件注释 [b]
| 管道
~ 代表当前家目录 [/b]
用户上一次的所在目录 [b]
$ 变量前需要加符号
/ 路径分隔符也是根的意思
‘’ 单引号,不具有变量置换功能,输出时所见所得 [/b]
“” 双引号,具有变量置换功能,解析变量后输出 [b]
• 反引号两个••中间为命令,会先执行,等价$() [/b]
{} 中间为命令区块或内容序号,类似seq,一般配合echo等命令使用,find里面的{}意思是前面命令的结果
! 感叹号,1:!+字母表示调出最近一次的以此字母开头的命令 2:!!表示使用最近一次的操作 3:!+数字 表示调出历史的第几条命令 4:取反的意思
&& and 并且的意思,当前一个指令执行成功时,执行下一个指令
|| or 或者的意思,当前一个指令执行失败时,执行下一个指令
\ 转义字符,让有意义的字符,脱掉它代表的意义 [b]
.. 2个点代表上一级目录 [/b]
. 一个点代表当前目录 *****
1.2 正则表达式原理
1、什么叫正则表达式
正则表示式就是为处理大量的字符串而定义的一套规则和方法
2、为什么要学会正则表达式
可以从大量的字符串内容里面查找符合自己需要的字符串。
1.3 基础正则字符说明
1、^word 匹配word开头的内容。 vi/vim编辑器里^代表一行的开头
例子:
[root@KING data]# grep "^m" oldboy.log
my blog is http://oldboy.blog.51cto.com
my qq num is 49000448.
my god ,i am not oldboy,but OLDBOY!
2、word$ 匹配word结尾的内容。 vi/vim编辑器里^代表一行的结尾
例子:
[root@KING data]# grep "m$" oldboy.log
my blog is http://oldboy.blog.51cto.com
3、^$ 表示空行
例子:
[root@KING data]# grep -n "^$" oldboy.log
3:
8:
4) . 点 代表且只能代表任意一个字符。
例子:
[root@KING data]# grep "." oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldboy,but OLDBOY!
5) \ 转义字符,例.就只代表点本身,让有着特殊身份的字符脱掉马甲,还原原型。
例子:
[root@KING data]# grep ".$" oldboy.log
my qq num is 49000448.
not 4900000448.
6) 重复0个或多个前面的字符,任意字符
例子:
[root@KING data]# grep "00" oldboy.log
my qq num is 49000448.
not 4900000448.
7) . 匹配所有字符。延伸^.以任意多个字符开头,.$以任意字符结尾
例子:
[root@KING data]# grep "^." oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldboy,but OLDBOY!
8)[abc] 匹配字符集合内的任意一个字符[a-z A-Z],[0-9]
例子:
[root@KING data]# grep "[ab]" oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my god ,i am not oldboy,but OLDBOY!
9)[^abc] 匹配不包含^后的任意一个字符的内容
例子:
[root@KING data]# grep "[^ab]" oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldboy,but OLDBOY
10) a{n,m} 重复n到m次,前一个重复的字符。
[root@KING data]# grep "0{2,3}" oldboy.log
my qq num is 49000448.
not 4900000448.
a{n,} 重复至少n次,前一个重复的字符。
[root@KING data]# grep "0{2}" oldboy.log
my qq num is 49000448.
not 4900000448.
a{n} 重复n次,前一个重复的字符。
[root@KING data]# grep "0{3}" oldboy.log
my qq num is 49000448.
not 4900000448.
a{,m} centOS5不能使用,centOS6可以,重复m次
[root@KING data]# grep "0{,3}" oldboy.log
I am oldboy teacher!
I teach linux
I like badminton ball ,billiard ball and chnese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
11) + 表示重复“一个或一个以上”前面的字符
12) ? 表示重复“0个或一个”前面的字符
13) | 表示同时过滤多个字符串
14) () 分组过滤,后向引用
相关文章推荐
- Linux通配符知识深度讲解
- Linux 文件管理基础命令和通配符基础知识
- 12_Linux基础知识及命令――――使用通配符来操作文件
- 【Linux基础学习之三】Bash的一些基础知识总结(通配符、重定向、管道、命令补全)
- Linux运维学习笔记-通配符及正则表达式知识总结
- Linux基础知识题解答(三)
- Linux基础知识之挂载详解(mount,u…
- linux知识-系统信息解释
- Linux下C语言编程--基础知识
- linux的冷知识
- 知乎问答:一个新手面试 Linux 运维工作至少需要知道哪些知识?
- Linux 基础知识(三)
- linux基础知识
- Linux基础知识---计划任务
- linux安装软件的有用的知识
- linux学习入门1——bash命令基本操作(linuxcast.net)(bash部分快捷键、uname、history、通配符、切换用户、作业管理(前台、后台运行,暂停等操作))
- Linux 系统管理的基本知识
- 嵌入式Linux系统基础知识
- Marvell-linux研究—背景知识