bash文件名统配
bash基础特性之globbing,即文件名通配:
文件名通配:使用元字符匹配字符
*:匹配任意长度的任意字符
假如文件名为paaaa,则pa*,*pa*,*pa,p*a,*p*a
?: 匹配任意单个字符
[]: 匹配指定集合内的任意单个字符,必须是集合内的一个字符。
[0-9]: 任意数字
[a-z]: 任意小写字母
[A-Z]: 任意大写字母
[0-9a-zA-Z]: 所有字母和数字 [[:alnum:]]
p[mn]: pm或者pn
[^]: 匹配指定集合外的任意单个字符,必须是集合外的一个字符。
p[^m-z]*
字符集合:只取一个
[:space:] 所有空白字符 [[:space:]]
[:punct:] 所有标点符号
[:lower:] 所有小写字母
[:upper:] 所有大写字母
[:digit:] 所有数字
[:alpha:] 所有字母
[:alnum:] 所有字母和数字
练习1:显示/var目录下所有l开头,以一个小写字母结尾,且中间出现一位数字的文件或目录;
# ls -d /var/l*[[:digit:]]*[[:lower:]]
练习2:显示/etc/目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
# ls -d /etc/[0-9]*[^0-9]
练习3: 显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录;
# ls -d /etc/[^[:alpha:]][[:alpha:]]*
练习4:复制/etc/下,所有以m开头,以非数字结尾的文件或目录至/tmp/mageedu目录中;
# mkdir /tmp/mageedu
# cp -a /etc/m*[^0-9] /tmp/mageedu/
练习5:复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu2目录中;
# mkdir /tmp/mageedu2
# cp -a /etc/*.d /tmp/mageedu2/
练习6:复制/etc目录下,所有以.conf结尾,以m,n,r,p开头的文件或目录至/tmp/mageedu3目录中;
# mkdir /tmp/mageedu3
# cp -a /etc/[mnrp]*.conf /tmp/mageedu3
最新文章
- jQuery 3.0 的 Data 浅析
- 百度前端技术学院2015JavaScript基础部分实现自己的小型jQuery
- MVC中使用js拼接的元素验证问题
- css添加样式的四种方式
- Javascript模式(第五章对象创建模式)------读书笔记
- mysql常用语句总结
- Hightcharts动态创建series
- WebGL 3D on iOS8 正式版
- SQL Server 2005 Service Broker
- SQLHelper---赵晓虎(简洁,全面)
- if-else的优化举例
- SSMS错误代码大全
- linux jmail乱码
- C# Get Desktop Screenshot ZZ
- xcode5时代如何设置Architectures和Valid Architectures
- [TYVJ] P1049 最长不下降子序列
- 无法从“const char *”转换为“char *”
- WebApi Ajax 跨域请求解决方法(CORS实现)(作者:jianxuanbing)
- JavaWeb-----实现第一个Servlet程序
- BZOJ 1150 - 数据备份Backup - [小顶堆][CTSC2007]
热门文章
- 最大xor,and,or
- HTML表格的基本结构标记
- Glide加载图片的事例
- 记次浙大月赛 134 - ZOJ Monthly, June 2014
- asp.net excel导出红色字体
- vue2.0:(三)、项目开始,首页入门(main.js,App.vue,importfrom)
- 洛谷 P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers
- 关于搭建系统直播和Thinkphp的杂谈(持续更新)
- MySQL存储过程(批量生成论坛中发帖、回帖、主题等数据)
- MySQL存储过程简介和引擎说明