zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Visual Studio Code安装Python环境
    Visual Studio Code安装以及C/C++运行环境搭建
    第五场周赛(字符串卡常个人Rank赛)——题解
    SpringCloud学习之二:服务提供者与服务消费者
    SpringCloud学习之一:服务注册中心
    java算法篇之一:动态数组
    Amdahl(阿姆达尔)定律
    org.apache.shiro.session.UnknownSessionException: There is no session with id [xxxx]的解决方案
    RedHat6.9下替换yum源
    微信公众号弹出框在IOS最新系统中点击键盘上的“完成”导致事件无法触发问题
  • 原文地址:https://www.cnblogs.com/yajing-zh/p/4878297.html
Copyright © 2011-2022 走看看