概述
本章节主要介绍关于linux通配符的用法,熟练运用通配符可以提高工作效率并且可以简化一些繁琐的处理步骤。
测试数据
touch a a6.log abc.log ac.txt b c c5.txt x.log A
“*”
代表任意多个字符
例:查询以".log"结尾的文件 ll *.log
“?”
代表任意单个字符
例:只查询a、b、c ll ?
“[]”
代表“[”和“]”之间的某一个字符,比如[0-9]可以代表0-9之间的任意一个数字,[a-zA-Z]可以代表a-z和A-Z之间的任意一个字母,字母区分大小写。
例:只查询字母文件 ll [a-zA-Z]
例:查询以“.log”结尾且“.log”前只有两个字符的文件且第二个字符是数字 ll ?[-].log
“^”
表示匹配结果取反的意思,注意这个通配符必须要在[]中使用
例:查询不是以“.log”结尾的文件 ll *[^txt]*
“{}”
表示符合括号内包含的多个文件
例:查询‘.log’和“.txt”结尾的文件 ll {*.log,*.txt}
注意: “.”这个符合比较特殊,如果匹配的条件加上了该符合那么说明查询结果文件就包含带“.”的文件
例如前面的“^”的例子,如果我这样查询“ll *.[^txt]*”,那么结果就不一样了
删除操作
例如:删除a、b、c和以.txt结尾的文件 rm -f {[abc],*.txt}
总结
当然既然可以查询当然也可以使用通配符匹配的方式进行移动文件,如果需要在存在很多文件的文件夹中移动某些类型的文件那么使用通配符匹配的效率就显而易见了;当时通配符的使用技巧不单单只有这些,有空的可以多去研究。
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |