文件通配符练习

1、文件通配符

  *:匹配零个或多个字符

  ?:匹配任何单个字符

  ~:当前用户家目录

  ~admin:用户admin家目录

  ~+:当前工作目录

  ~-:前一个工作目录

  [0-9]:匹配任意数字

  [a-z]:匹配任意小写字母

  [A-Z]:匹配任意大写字母

  [wang]:匹配列表中的任何一个字符

  [^wang]:匹配列表中的所有字符以外的字符

  预定义的字符类:man 7 glob

    [:digit:]:任意数字,相当于0-9

    [:lower:]:任意小写字母

    [:upper:]:任意大写字母

    [:alpha:]:任意大小写字母

    [:alnum:]:任意数字或字母

    [:blank:]:水平空白字符

    [:space:]:水平或垂直空白字符

    [:punct:]:标点符号

    [:print:]:可打印字符

    [:cntrl:]:控制(非打印)字符

    [:graph:]:图形字符

    [:xdigit:]:十六进制字符

2、实例

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

ls /etc/[^[:alpha:]][[:alpha:]]*

一开始没显示出来,是因为文件夹里面没有符合条件的,自己构建一个就行了

如果要单独显示文件夹,加上-d选项就行了

ls -d /etc/[^[:alpha:]][[:alpha:]]*

   实例2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

cp /etc/p*[^[:digit:]] /tmp/mytest1

同样,如果只想复制目录要加-d,最好也加上-r递归复制

 实例3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

这里用到了转换命令tr

cat /etc/issue | tr '[:lower:]' '[:upper:]' >> /tmp/issue.out

原文地址:https://www.cnblogs.com/oceanftd/p/13629656.html