linxu通配符

通配符 globbing

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

匹配模式:元字符

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

ab*:ab开头的单词

*ab*:包含ab的单词

*ab:ab结尾的单词

*a*b*:包含a、b的单词

?:匹配任意单个字符

ab?:ab开头的三个字符的单词

??ab:ab结尾四个字符的单词

a?b:a开头、b结尾三个字符的单词

a?b?:a+任意字符+b+任意字符的四个字母组成的单词

[]:匹配指定范围内的任意单个字符

当LANG=C时,[a-z]其实是a,b,c…z,所有小写字母

当LANG=utf8时,[a-z]其实是a,A,b,B,c,C…y,Y,z,包括除z意外的所有字母

[a-Z]这个集合本身代表所有字母,包括大小写。

有几种特殊格式:(当LANG=utf8)
    [a-z]:匹配字母,包括除Z意外的所有字母
    [A-Z]:匹配单个大写字母
    [0-9]:匹配数字
    [a-z0-9]:匹配任意字母或数字

    [[:upper:]]:所有大写字母
    [[:lower:]]:所有小写字母
    [[:alpha:]]:所有字母
    [[:digit:]]:所有数字
    [[:alnum:]]:所有的字母和数字
    [[:space:]]:所有空白字符
    [[:punct:]]:所有标点符号

[^]:匹配指定范围外的任意单个字符

[^]:匹配指定范围外的任意单个字符
[^[:upper:]] :非大写字母
[^0-9]:非数字
[^[:alnum:]]:非字母数字

实例

  • 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    ls -d /var/l*[[:digit:]]*[[:lower:]]
    
  • 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    ls -d /etc/[[:digit:]]*[^[:digit:]]
    
  • 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    ls -d /etc/[^[:alpha:]][[:alpha:]]*
    
  • 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    touch /tmp/tfile-$(date  +%Y-%m-%d-%H-%M-%S)
    
  • 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
    root@localhost var]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1
    
  • 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    cp -r /etc/*.d /tmp/mytest2/
    
  • 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
    cp -r /etc/[mn]*.conf /tmp/mytest3

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92058

(0)
eighteenxueighteenxu
上一篇 2018-03-11
下一篇 2018-03-11

相关推荐

  • 文本查看及处理工具

    文本查看及处理工具 wc wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数 语法 wc(选项)(参数) 选项 -c或–bytes或——chars:只显示Bytes数; -l或——lines:只显示列数; -w或——words:只显示字数。 参数 文件:需要统计的文件列表 实例 [root@localhost tmp]# cat …

    Linux干货 2018-03-18
  • N22-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d' ' -f1| uniq -u  执行前的情况:  执行后的情况:    &nbsp…

    Linux干货 2016-09-06
  • RAID and LVM

    RAID          Redundant Arrays of  inexpensive(Independent)Disks,RAID:容错式廉价磁盘阵列,容错式独立磁盘阵列,简称RAID,由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988…

    Linux干货 2016-09-02
  • 马哥教育网络班22期+第6周课程练习 忍者乱太郎喻成

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#cp /etc/rc.d/rc.sysinit /tmp方法一 vim法在vim下用 : 进入命令行模式     %s/^&nbs…

    Linux干货 2016-10-24
  • MongoDB

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2017-04-08
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本 能接受四个参数:start、stop、restart、status start:输出“starting脚本名finished.” restart:输出“restarting脚本名finished.” stop:输出“stoping脚本名finished.” status:输出“status脚本名finished.” 其他…

    Linux干货 2017-09-04