Linux_bash的特性之glob

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux_bash的特性之glob相关的知识,希望对你有一定的参考价值。

     什么是glob?glob是文件名通配机制,使文件管理更为方便、简洁、快速;将来管理文件时,可以执行一次性操作,这种机制能快速提升工作任务!

     要想实现文件名通配机制,需要用到匹配中的元字符。基于元字符可编写匹配模式(pattern)

     glob中的元字符如下,也是大家经常用到的一些字符。

       1、*:匹配任意长度的任意字符;

            例:p*  以小写p开头的所有文件(注意区分大小写)    

              pa*  以小写pa开头的所有文件

             *p*a  字母p前面有多个或一个任意字符,字母p和a之间有多个或一个任意字符。例:qw1p23rta、wp0a、ppaa……等等

       2、?:匹配任意单个字符;

            例:p?  以p开头,后面可以跟一个任意字符。

                   如:pa、po、p1就是正确的;反之paa、p2w就不行;

              p?a  以p开头,小a结尾,中间可以是任意一个单个字符;

                   如:p1a、pwa、poa

              p?? 以p开头,后面可以跟两个任意字符;

                   如:paa、p21、p31

         简单的说就是有几个“?”,就有几个字符。且字符的位置与“?”一样!

       3、[]:匹配指定集合内的任意单个字符;

            如:(1)、[abc],则显示出文件中含有“a”或“b”或“c”的文件;例:fstab、ifconfg、passwd等等

              (2)、 p[abc]*,则显示出文件已“pa”或“pb”或“pc”开头的文件;例:passwd、pam、pbc、pb2q3、pc3.txt等等。(注:有的文件名随机编写,电脑中并非存在)

              (3)、如果想表示出所有字母,则可以表示为[a-z]或[A-Z];即p[a-z]*=p[A-Z]。(注:不区分字符大小写)

              (4)、如果想表示数字,则可以表示为[0-9];

              (5)、如果想表示数字、字母,则可以表示为[a-z0-9]。注:两个连续的连字符表示集合也是可以的。

              (6)、如果想表示字母大写,则可以表示为[[:upper:]]。注意:[:upper:]=A-Z;[[:upper:]]=[A-Z]。例:p[[:upper:]]*,则表示p后面必须是跟大写字母的单个字符,如pM、pA等等。

              (7)、如果想表示字母小写,则可以表示为[[:lower]]。用法和[[:upper]]一样,请知悉!

              (8)、如果想表示所有的数字,则可表示为[[:dight:]] 

              (9)、如果想表示出所有字母,不管大小写。则可表示为[[:alpha:]]。上面第二点已经提到一种,这是第二种表达方式,请知悉!

              (10)、如果想表示所有字母、数字,则可表示为[[:alnum:]];

              (11)、表达所有的空白字符,可用[[:space:]]表示; 

              (12)、表达所有的标点符号,可用[[:punct]]表示;

        4、[^]:匹配指定集合外的任意字符;

           如:(1)、如果想取非所有字母的字符,则可以表示为[^[:alpha]];例:p[^[:upper:]]*,则能表示文件有popd.d、p26、p2k.txt、pp.pdf、psswad等等。


    本人学习Linux没有多长时间,还是处于小白状态!这是第一次写博客,写的不好请包涵。如有错误或更好的建议,望教学。谢谢!

    请知悉!

本文出自 “11265133” 博客,请务必保留此出处http://11275133.blog.51cto.com/11265133/1747929

以上是关于Linux_bash的特性之glob的主要内容,如果未能解决你的问题,请参考以下文章

bash特性之五

Linux之bash特性

09-文件管理命令别名和glob

2017-11-5Linux基础知识(10)bash基础特性

linux学习14 Linux运维高级系统应用-glob通配及IO重定向

shell编程bash特性