【问题标题】:How do I exclude a character from a range in a character class?如何从字符类的范围中排除字符?
【发布时间】:2012-09-18 19:20:17
【问题描述】:

如何将以下几行组合成一个字符:

> ls file[1-5]
> ls file[!3]

产生与以下相同的结果:

> ls file[1-2,4-5] 
> file1 file2 file4 file5

【问题讨论】:

    标签: linux bash unix wildcard


    【解决方案1】:

    范围的正确语法是

    ls file{[1-2],[4-5]}
    

    【讨论】:

    • file[1-2,4-5] 已经是一个有效的模式。我认为问题是如何在不拼出每个子序列的情况下指定单个模式。
    【解决方案2】:

    它肯定会因上下文而异。在zsh,你可以这样做:

    $ set -o EXTENDED_GLOB
    $ ls file([1-5]~3)
    

    【讨论】:

      猜你喜欢
      • 2018-08-26
      • 1970-01-01
      • 2022-11-30
      • 2012-08-14
      相关资源
      最近更新 更多