zoukankan      html  css  js  c++  java
  • 5.通配符

    在开始使用命令之前,我们需要介绍一个使命令行如此强大的 shell 特性。因为 shell 频繁地使用 文件名,shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。 使用通配符(也以文件名代换著称)允许你依据字符类型来选择文件名。下表列出这些通配符 以及它们所选择的对象:

    表5-1: 通配符

    通配符意义
    * 匹配任意多个字符(包括零个或一个)
    ? 匹配任意一个字符(不包括零个)
    [characters] 匹配任意一个属于字符集中的字符
    [!characters] 匹配任意一个不是字符集中的字符
    [[:class:]] 匹配任意一个属于指定字符类中的字符

    表5-2列出了最常使用的字符类:

    表5-2: 普遍使用的字符类

    字符类意义
    [:alnum:] 匹配任意一个字母或数字
    [:alpha:] 匹配任意一个字母
    [:digit:] 匹配任意一个数字
    [:lower:] 匹配任意一个小写字母
    [:upper] 匹配任意一个大写字母

    借助通配符,为文件名构建非常复杂的选择标准成为可能。下面是一些类型匹配的范例:

    表5-3: 通配符范例

    模式匹配对象
    * 所有文件
    g* 文件名以“g”开头的文件
    b*.txt 以"b"开头,中间有零个或任意多个字符,并以".txt"结尾的文件
    Data??? 以“Data”开头,其后紧接着3个字符的文件
    [abc]* 文件名以"a","b",或"c"开头的文件
    BACKUP.[0-9][0-9][0-9] 以"BACKUP."开头,并紧接着3个数字的文件
    [[:upper:]]* 以大写字母开头的文件
    [![:digit:]]* 不以数字开头的文件
    *[[:lower:]123] 文件名以小写字母结尾,或以 “1”,“2”,或 “3” 结尾的文件

    接受文件名作为参数的任何命令,都可以使用通配符,我们会在第八章更深入的谈到这个知识点。

    字符范围

    如果你用过别的类 Unix 系统的操作环境,或者是读过这方面的书籍,你可能遇到过[A-Z]或 [a-z]形式的字符范围表示法。这些都是传统的 Unix 表示法,并且在早期的 Linux 版本中仍有效。 虽然它们仍然起作用,但是你必须小心地使用它们,因为它们不会产生你期望的输出结果,除非 你合理地配置它们。从现在开始,你应该避免使用它们,并且用字符类来代替它们。

    通配符在 GUI 中也有效

    通配符非常重要,不仅因为它们经常用在命令行中,而且一些图形文件管理器也支持它们。

    • 在 Nautilus (GNOME 文件管理器)中,可以通过 Edit/Select 模式菜单项来选择文件。 输入一个用通配符表示的文件选择模式后,那么当前所浏览的目录中,所匹配的文件名就会高亮显示。

    • 在 Dolphin 和 Konqueror(KDE 文件管理器)中,可以在地址栏中直接输入通配符。例如, 如果你想查看目录 /usr/bin 中,所有以小写字母 ‘u’ 开头的文件, 在地址栏中敲入 ‘/usr/bin/u*‘,则 文件管理器会显示匹配的结果。

    最初源于命令行界面中的想法,在图形界面中也适用。这就是使 Linux 桌面系统 如此强大的众多原因中的一个

  • 相关阅读:
    2013第五周上机任务【项目1 三角形类(构造函数)】
    Google搜索小技巧
    项目总结:文件上传(MVC uploadify)
    Oracle 触发器 Update 不能操作本表的疑问
    【笔试题STL】求两个vector的交集
    Zookeeper(六)数据模型
    是的,我们真的在遭遇有史以来最大的DDoS攻击,并且还在加剧
    在MFC框架下使用osg报内存泄露的解决办法
    NetBeans 时事通讯(刊号 # 107 Jun 25, 2010)
    VS 2008中的C/C++静态代码分析工具Prefast
  • 原文地址:https://www.cnblogs.com/hihtml5/p/9270331.html
Copyright © 2011-2022 走看看