【问题标题】:List only folders which matches the wildcard expression仅列出与通配符表达式匹配的文件夹
【发布时间】:2015-04-17 19:04:13
【问题描述】:

是否有列出与通配符表达式匹配的所有文件夹的命令?例如,如果有数千个目录,我只想列出以 M 结尾或以 JO 开头的目录,我可以使用某个 Linux 命令来执行此操作吗?谢谢!

【问题讨论】:

    标签: wildcard ls


    【解决方案1】:

    使用find命令,例如:

    # find anything that start with 'jo' end with 'm' (case insensitive)
    find . -iname 'jo*m'
    

    之后可以执行任何命令,例如:

    # find just like above but case sensitive, and move them to `/tmp`
    find . -name 'JO*M' -exec mv -v {} /tmp \;
    

    要只查找一个目录,可以使用-type d标志,例如:

    # find any directory that start with JO
    find . -name 'JO*' -type d
    

    解释,第一个参数是起始目录,.表示当前目录。下一个参数表示搜索条件-name 用于区分大小写搜索,-iname 用于不区分大小写搜索,-type 用于项目类型搜索,-exec 用于执行某些命令,其中{} 是匹配的文件名。您可以了解更多信息here 或针对您的具体情况here

    【讨论】:

    • 谢谢!这有很大帮助。 :)
    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2014-11-02
    相关资源
    最近更新 更多