【发布时间】:2011-07-07 06:52:50
【问题描述】:
如何使用 ls 列出子目录,使用 '-d' 只显示当前目录。我想要像find . -type d -maxdepth 1 这样的东西会给我。
【问题讨论】:
-
也许你想写:
find . -type d -maxdepth 1(-maxdepth没有=。
如何使用 ls 列出子目录,使用 '-d' 只显示当前目录。我想要像find . -type d -maxdepth 1 这样的东西会给我。
【问题讨论】:
find . -type d -maxdepth 1(-maxdepth 没有=。
这应该会有所帮助:
ls -d */
*/ 只会匹配当前目录下的目录。不过,输出目录名称可能会包含结尾的“/”。
【讨论】:
ls -d .*/ */或shopt -s dotglob; ls -d .*/,否则不会列出以点(.)开头的目录。
*/的含义感到困惑
ls -d */ 和 ls -d */*/ 似乎工作得很好。
【讨论】:
你可以和grep结合:
ls -l | grep '^d'
仅获取文件名:
ls -l | grep '^d' | awk '{ print $9 }'
你可以把它变成一个方便的别名:
alias ldir="ls -l | grep '^d'"
【讨论】:
awk,grep是多余的:ls -l | awk '/^d/ { print $9 }'