• 文件名通配符


    提示:在Windows中通常将一些正则表达式的基本字符称为通配符,而在Linux操作系统中人们则将这些基本字符称为元字符。使用多个元字符组成的查找表达式称为匹配模式,使用匹配模式查找的过程称为(模式)匹配。

    1、单字符匹配元字符“?”

    元字符“?”表示匹配文件名中任意一个字符,连续使用多个元字符“?”可以表示多个任意字符。

    (1)例如要查看有两个字符且第一个字母是a的文件:

    [root@localhost zhu]# ls -l a?
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ab
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ac
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ad

    (2)也可以使用多个“?”,例如要查看由字母a和任意两个字符组成的文件:

    [root@localhost zhu]# ls -l a??
    -rw-r--r-- 1 root root 0 Dec  6 09:49 abc
    -rw-r--r-- 1 root root 0 Dec  6 09:49 acd
    -rw-r--r-- 1 root root 0 Dec  6 09:49 add

    (3)查看所有由4字符组成且第3个字符是c的文件:

    [root@localhost zhu]# ls -l ??c?
    -rw-r--r-- 1 root root 0 Dec  6 09:47 abcd

    2、多字符匹配元字符“*”

    元字符“*”表示匹配文件名中的任意字符串。匹配的字符串长度可以是0-n。

    (1)查看以字母c结尾的文件:

    [root@localhost zhu]# ls -l *c
    -rw-r--r-- 1 root root 0 Dec  6 09:49 abc
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ac

    (2)查看所有以a开头并以c结尾的文件:

    [root@localhost zhu]# ls -l a*c
    -rw-r--r-- 1 root root 0 Dec  6 09:49 abc
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ac

    (3)元字符混合使用:

    [root@localhost zhu]# ls -l *c?
    -rw-r--r-- 1 root root 0 Dec  6 09:47 abcd
    -rw-r--r-- 1 root root 0 Dec  6 09:49 acd

    (4)查看第3个字符为c的所有文件:

    [root@localhost zhu]# ls -l ??c*
    -rw-r--r-- 1 root root    0 Dec  6 09:49 abc
    -rw-r--r-- 1 root root    0 Dec  6 09:47 abcd

    3、字符范围匹配符“[]”

    范围匹配符“[]”通常用于匹配一个字符范围,其表现形式可以是减号“-”,表示字母或数字的范围;也可以是几个字符的组合,表示这几个字符中的任一个。

    (1)范围匹配符中出现几个字符的组合,如下,表示以a开头或者以b开头或者以c开头或者以d开头或者以e开头的所有文件:

    [root@localhost zhu]# ls -l [abcde]*
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ab
    -rw-r--r-- 1 root root 0 Dec  6 09:49 abc
    -rw-r--r-- 1 root root 0 Dec  6 09:47 abcd
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ac
    -rw-r--r-- 1 root root 0 Dec  6 09:49 acd
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ad
    -rw-r--r-- 1 root root 0 Dec  6 09:49 add

    (2)查看以a开头并且倒数第二个字符是cde中任一个的所有文件:

    [root@localhost zhu]# ls -l a*[cde]?
    -rw-r--r-- 1 root root 0 Dec  6 09:47 abcd
    -rw-r--r-- 1 root root 0 Dec  6 09:49 acd
    -rw-r--r-- 1 root root 0 Dec  6 09:49 add

    (3)使用符号“-”可以匹配字母或数字范围中的任意一个:

    [root@localhost zhu]# ls -l *[0-9]*
    -rw-r--r-- 1 root root 0 Dec  6 10:06 a0_test
    -rw-r--r-- 1 root root 0 Dec  6 10:06 zhu3_test

    (4)查看所有由两个字符组成,且第二个字符是字母的文件:

    [root@localhost zhu]# ls -l ?[a-Z]
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ab
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ac
    -rw-r--r-- 1 root root 0 Dec  6 09:46 ad
    -rw-r--r-- 1 root root 0 Dec  6 10:08 eA
    -rw-r--r-- 1 root root 0 Dec  6 10:08 tX
    -rw-r--r-- 1 root root 0 Dec  6 10:08 yZ

    上面的命令中,[a-Z]表示所有字母,也可以用[a-zA-Z]表示所有字母。

    4、排除范围匹配符“[!]”或者“[^]"

    排除范围匹配符“[!]”表示不匹配符号内出现的字符组合或字母数字范围。使用时,感叹号!只能放在要排除的字符串首。

    (1)查看只有两个字符并以数字开头且第二个字符不是数字的文件:

    [root@localhost zhu]# ls -l [0-9][!0-9]
    -rw-r--r-- 1 root root 0 Dec  6 10:15 3d

    (2)查看只有两个字符且两个字符都不是字母的文件:

    [root@localhost zhu]# ls -l [!a-Z][!a-Z]
    -rw-r--r-- 1 root root 0 Dec  6 10:16 %3
    -rw-r--r-- 1 root root 0 Dec  6 10:16 34
  • 相关阅读:
    JavaScript 各种遍历方式详解
    使用TortoiseGit操作分支的创建与合并
    前端实现图片压缩上传
    改变input的value值,同时在HTML中将value进行改变
    HTML中字体单位px pt em之间的转换
    解决PHP无法接收post超过1000个字段的问题
    解决微信不能扫描下载的问题
    实现类似于百度实时搜索将结果在下拉框中显示的功能
    Python导入路径含特殊字符的包
    大二秋学期记录
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3460891.html
Copyright © 2020-2023  润新知