【问题标题】:BASH - limit depth of directory loopBASH - 限制目录循环的深度
【发布时间】:2013-11-28 06:57:44
【问题描述】:

如何遍历目录并将深度限制为 3 个级别?我的 find 版本没有 -maxdepth。如果可能的话,我想保持一行。

例如:find /data -type d -print

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: bash unix


    【解决方案1】:
    shopt -s nullglob
    for d in /data/*/ /data/*/*/ /data/*/*/*/
    do
      echo "$d"
    done
    

    【讨论】:

    • 谢谢,这正是我所需要的。
    • 它不做-type d;使用[ -d "$d" ] && echo "$d" 会,然后你可以放弃设置nullglob
    • @user2719058:终止斜线确保它在大多数情况下都可以。
    • @IgnacioVazquez-Abrams:啊,我的立场是正确的。确实,我没有考虑斜线。 “大部分”是什么意思?我想不出它不起作用的情况。
    • @user2719058:它还将包含指向目录的符号链接。
    猜你喜欢
    • 2016-08-16
    • 2014-05-04
    • 2017-04-11
    • 2016-12-12
    • 2011-04-21
    • 2012-10-15
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多