Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 780|回复: 0

版主学习笔记之通配符

[复制链接]

208

主题

269

帖子

1936

积分

超级版主

Rank: 8Rank: 8

积分
1936
发表于 2015-4-21 18:26:40 | 显示全部楼层 |阅读模式
        实际上,通配符是一种特殊的语句,主要包含"*"号和"?"号,还有"{}"、"^"、"!"。主要用来模糊搜索文件,使用它替代一个或多个真正的字符,龙其是在不知道或者不确定完整文件名时,用来匹配符合条件的文件。

1、"*" 符号
这里的"*"号代表0个或多个字符(与正则表达式里的*是不一样的)。如果想要找的文档是以字母A开头.txt结尾的文件,则可用A*.txt来查找,可以使用以下命令:
  1. [root@mail ~]# ls -l A*.txt
  2. -rw-r--r-- 1 root root 0 Apr 21 14:06 A123.txt
  3. -rw-r--r-- 1 root root 0 Apr 21 14:04 Abcd.txt
  4. -rw-r--r-- 1 root root 0 Apr 21 14:04 Ab.txt
复制代码
2、"?" 符号
如果要列出字母A开头、但是只有两个字母的文件名,以.txt结尾的文件,就使用"?"了,当它作为通配符使用时,代表的是任意一个字符,其写法如下:
  1. [root@mail ~]# ls -l A?.txt
  2. -rw-r--r-- 1 root root 0 Apr 21 14:04 Ab.txt
复制代码
3、"{}" 符号
"{}" 可匹配所有括号内包含的以逗号隔开的字符,例如列出了所有以字母A、B、C开头,以.doc结尾的文件。
第一种方法
  1. [root@mail ~]# ls -l {A,B,C}.txt
  2. -rw-r--r-- 1 root root 0 Apr 21 14:06 A.txt
  3. -rw-r--r-- 1 root root 0 Apr 21 14:04 B.txt
  4. -rw-r--r-- 1 root root 0 Apr 21 14:04 C.txt
复制代码
第二种方法
  1. [root@mail ~]# ls -l [A-C].txt
  2. -rw-r--r-- 1 root root 0 Apr 21 14:06 A.txt
  3. -rw-r--r-- 1 root root 0 Apr 21 14:04 B.txt
  4. -rw-r--r-- 1 root root 0 Apr 21 14:04 C.txt
复制代码
"{}"还支持嵌套的通配。以"{x,y}"为例,如果x和y各自本身也是通配符,则更加的强大了,如下:
  1. [root@mail ~]# ls -l {[A-Z]*.txt,[0-9]??.txt}
复制代码
4、"^" 符号和"!" 符号
这两个符号往往和"[]"一起使用,当出现在"[]"中的时候,代表取反。所以[^A]或[!A]代表不是A。

通配符和正则表达式之前存在一些差异,特别是有些相同的字符即用在正则表达式中又用在通配符中,极容易造成混淆,只有多读多想多练习才能深入的理解和认识,简单的来说,正则表达式主要使用在对文件内容的匹配上,而通配符主要是用在文件名的匹配上,可以用这种方法来区别二者。

通配符也有很多,以上为常用的通配符,其它通配符如下(可以多熟悉和练习):

# - 注释
/ - 跳转符号,将特殊字符或通配符还原成一般符号
| - 分隔两个管线命令的界定
; - 连续性命令的界定
~ - 用户的根目录
$ - 变量前需要加的变量值
! - 逻辑运算中的"非"(not)
/ - 路径分隔符号
>, >> - 输出导向,分别为"取代"与"累加"
' - 单引号,不具有变量置换功能
" - 双引号,具有变量置换功能
` - quote符号,两个``中间为可以先执行的指令
() - 中间为子shell的起始与结束
[] - 中间为字符组合
{} - 中间为命令区块组合
Ctrl+C - 终止当前命令
Ctrl+D - 输入结束(EOF),例如邮件结束的时候
Ctrl+M - 就是Enter
Ctrl+S - 暂停屏幕的输出
Ctrl+Q - 恢复屏幕的输出
Ctrl+U - 在提示符下,将整行命令删除
Ctrl+Z - 暂停当前命令
&& - 当前一个指令执行成功时,执行后一个指令
|| - 当前一个指令执行失败时,执行后一个指令

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2019-1-20 17:53 , Processed in 0.021408 second(s), 14 queries , Apc On.

快速回复 返回顶部 返回列表