【问题标题】:I don't understand the meaning of ls [aDt]*t?t [closed]我不明白 ls [aDt]*t?t 的含义 [关闭]
【发布时间】:2021-12-29 04:11:22
【问题描述】:

对你们来说可能是一个快速简单的问题,但我实际上无法在任何地方找到答案。

这是什么意思?请给我分解一下好吗?

【问题讨论】:

标签: linux bash shell glob


【解决方案1】:

问题很简单:

  • [aDt] :字符 aDt
  • *:零个或多个(任意)字符。
  • .:点。
  • tt 字符。
  • ? :任何(单个)字符。
  • tt 字符。

【讨论】:

    【解决方案2】:

    “[aDt]*.t?t”是“shell扩展”的一种表达方式(有几种,这一种是“模式匹配”)。

    这种扩展使用通配符类型的项目不仅匹配单个名称,而且匹配多个。

    对于 ls 命令(您的问题,但同样适用于任何命令),它将列出所有具有匹配名称的文件,但不列出其他文件。

    [aDt]  matches any of the character "a", "D", "t"
    *      matches any number (even zero) of any character
    ?      matches any single character
    

    这个表达式可以匹配,例如

      D-data.txt
      a-what.tNt
      t.tst
    

    但不是

      mega.txt      (first letter is not a, D or t)
      ciao.TXT      (the uppercase T of TXT do not match)
      ciaotxt       (does not contain a dot)
    

    这只是部分回复,事情要复杂得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多