我发现这个命令在当前文件夹中可以正常工作:
ls -d */ -1
但是当我想要列出不在该文件夹中的文件夹时(例如,我想要列出只位于1或2个级别更高的父文件夹或祖父文件夹中的文件夹),我该如何获得相同的结果?
find
命令,并使用-type d
参数限制结果为目录:
find .. -type d
你可以使用..
从父目录开始。
根据你的find
版本,你可以使用-mindepth
和-maxdepth
来限制结果:
find .. -mindepth 1 -maxdepth 2 -type d
-mindepth
和-maxdepth
放在前面不是惯例吗?(就像其他全局过滤器一样,而不仅仅应用于给定位置) - Charles Duffy
ls -d */*/
是一个有效的命令(尽管希望您不要试图以编程方式使用其输出;请参见 http://mywiki.wooledge.org/ParsingLs)。 - Charles Duffy(cd .. && exec ls -d */)
?(exec
通过消耗子shell来避免fork的开销,从而平衡创建子shell的成本。) - Charles Duffyls
,也不应该使用它。可以使用for dir in ../*/; do ...
来实现。 - Charles Duffy