码迷,mamicode.com
首页 > 其他好文 > 详细

globbing:文件名通配

时间:2020-09-17 19:51:36      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:image   start   info   例子   har   模式   文件名   字母   tmp   

globbing:文件名通配(整体文件名匹配,而非部分),BASH支持文件名通配。

1. 匹配模式: 元字符

*:匹配任意长度的任意字符

?:匹配任意单个字符

[]:匹配指定范围内的任意单个字符
    有几种特殊格式:
        [a-z], [A-Z], [0-9], [a-z0-9] 
        [[:upper:]]: 所有大写字母
        [[:lower:]]: 所有小写字母
        [[:alpha:]]: 所有字母
        [[:digit:]]: 所有数字
        [[:alnum:]]: 所有的字母和数字
        [[:space:]]: 所有空白字符
        [[:punct:]]: 所有标点符号
 
[^]: 匹配指定范围外的任意单个字符

2. 例子

  1. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录

    ls -d /var/l?[[:lower:]]
    

技术图片

  1. 显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录

    ls -d /etc/[0-9]*[^0-9]
    

    技术图片

  2. 显示/etc目录下,以非字母开头,后面跟一个字母及其他任意长度任意字符的文件或目录

    ls -d /etc/[^a-z][a-z]*
    

    技术图片

  3. 复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/etc目录

    mkdir /tmp/etc
    cp -r /etc/m*[^0-9] /tmp/etc/
    

    技术图片

  4. 复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下

    mkdir /tmp/man
    cp -r /usr/share/man/man[0-9] /tmp/man
    

    技术图片

  5. 复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下

    mkdir /tmp/conf.d
    cp -r /etc/[mnrp]*.conf /tmp/conf.d/
    

技术图片

globbing:文件名通配

标签:image   start   info   例子   har   模式   文件名   字母   tmp   

原文地址:https://www.cnblogs.com/ifme/p/13640028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!