banner

生信用Linux教程 Lesson 10 通配符

  • Home
  • B站ID:Biomamba-生信基地
Scroll down
TIP

这些是本篇文章的标签,来发现更多感兴趣的内容吧
科研
生信分析
Linux教程
B站ID:Biomamba-生信基地

来源:BV1hT411F7r7

  • ls命令有其强大之处,但也有其局限性,比如说没有办法列出具体类型的文件
  • 我们这节课所讨论的场景,是使用ls加通配符,在一个有很多个文件和文件夹的工作目录中,准确显示出你需要的文件类型,避免“人工搜索”

通配符

  • 通配符的英文是wildcard,也就是万能牌的意思,这里我们理解为万能字符就好了
  • 匹配的概念:匹配=完全等于

通配符” * “

  • “ * “的含义是满足任意字符任意次
  • 我们可以这样理解,对于
    1
    ls *ABC
  • 终端会列出当前目录下,所有以ABC为结尾的文件,无论ABC前有多少个字符都会显示
  • 当然,我们也可以把通配符放在其他的位置,比如
    1
    ls ABC* 
  • 这样就会显示出所有以ABC开头的文件了

通配符” ? “

  • “ ? “的含义是满足任意字符一次
  • 我们可以这样理解,对于
    1
    ls ?ABC
  • 终端会列出当前目录下,所有以ABC结尾而且ABC前面只有一个字符的文件
  • 可以打复数个问号,这种情况下也是一样的,问号的数量就是问号后面的字符串之前的字符的数量,比如ls ???????yaml(7个?),就会显示一个config.yaml的文件,而ls ??????yaml(6个?)就不会显示。
  • 我们也可以把通配符放在其他的位置,比如
    1
    ls ABC.?
  • 这样就会显示出所有以ABC.结尾,并且.后面只有一个字符的文件

通配符”[ ]”

  • 这行命令的含义是去匹配方括号内的每一个字符中的一个,比如
    1
    ls [abc]*
  • 的含义是,列出匹配任何一个以abc中的任何一个字母开头的内容,注意编程语言是要严格区分大小写的,由于括号内只有小写的abc,所以也只有以小写abc中任意一个字母开头的字符会被选择到
  • 如果不想敲26个小写字母,也有简化的方法,比如
    1
    ls [a-z]*
  • 对于大写字母,可以:
    1
    ls [A-Z]*
  • 数字也是可以的
    1
    ls [0-9]*

通配符 ^

  • 这个字符的意思是相反,也就是匹配任意一个大写字母一次,也可以写作
    1
    ls [^a-z]*
  • 同样地,匹配任意一个小写字母一次,也可以写作
    1
    ls [^A-Z]
  • 所有不以数字开头的文件,可以写作
    1
    ls [^0-9]

    对于多人处理同一份数据的情况,可以拷贝这份数据并在前面加上自己的名字作为前缀,然后通过通配符来快速展示自己的数据

Other Articles
Article table of contents TOP
  1. 1. 通配符
    1. 1.1. 通配符” * “
    2. 1.2. 通配符” ? “
    3. 1.3. 通配符”[ ]”
    4. 1.4. 通配符 ^
Find Something Special?