【问题标题】:How to list directories which are contains only two letters? [closed]如何列出仅包含两个字母的目录? [关闭]
【发布时间】:2016-03-08 09:42:14
【问题描述】:

我想创建一个命令,列出仅包含两个字母的目录。

我该怎么做?

【问题讨论】:

    标签: linux command ls


    【解决方案1】:

    ? 是一个字符的通配符。因此,以下应该有效:

    ls -d ??/
    

    -d 阻止ls 列出目录的内容,最后的/ 不包括文件。

    【讨论】:

    • 在 linux 上完美运行,在目录名之前或之后指定 -d,对于 MacOS,需要在目录名之前指定 -d 标志。
    【解决方案2】:
    ls -F | grep -o "^.\{2\}/$"
    

    ls -F 按文件系统对象类型列出内容 | grep -o 过滤掉与正则表达式 ^.\{2\}/$ 不匹配的任何内容,它基本上表示“仅匹配名称中包含 2 个字符的文件夹”

    【讨论】:

      【解决方案3】:
      ls */ | awk 'length($0) < 3'
      

      请注意,这与隐藏目录不匹配。 choroba 的答案更好,因为解析ls 的输出通常是个坏主意,但我喜欢它的可读性。

      【讨论】:

        猜你喜欢
        • 2016-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-29
        • 2019-05-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多