bash中用于实现文件名“通配”
通配符:*,?,[]
(1)*
任意长度的任意字符
a*b:
aab, ab, a123b 可以
abc 不可以
(2)?
任意单个字符
a?b:
aab 可以
ab, a12b, abc 不可以
(3)[]
匹配指定范围内的任意单个字符
[0-9]
[a-z]:不区分字符的大小写
[A-Z]:大写字母
(4)[^]
匹配指定范围之外的任意单个字符
[^0-9]:
专用字符集合:
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]:任意大写字母
[:alpha:]:任意大小写字母
[:alnum:]:任意数字或字母
[:space:]:空格字符
[:punct:]:标点符号
练习:
1. 显示/var下所有以1开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录。
2. 显示/etc/目录下,以任意一位数字开头,且以非数字结尾的文件或目录
3. 显示/etc下,以非字母开头,后面跟了一个字母及其他任意长度任意字符的文件或目录
4. 复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/123目录中
5. 复制/etc目录下,所有以.d结尾的文件或目录至/tmp/123目录中
6. 复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/123目录中
本文出自 “技术成就梦想” 博客,请务必保留此出处http://xuxiaoliang.blog.51cto.com/10882951/1932423
原文地址:http://xuxiaoliang.blog.51cto.com/10882951/1932423