有一种简单的方法可以只列出Linux中给定目录下的目录吗?为了更好地解释,我可以这样做:
find mydir -type d
Run Code Online (Sandbox Code Playgroud)
这使:
mydir/src
mydir/src/main
mydir/bin
mydir/bin/classes
Run Code Online (Sandbox Code Playgroud)
我想要的是:
mydir/src/main
mydir/bin/classes
Run Code Online (Sandbox Code Playgroud)
我可以在遍历行并删除,如果下一行包含的路径前行bash脚本做到这一点,但我不知道是否有不使用bash循环更简单的方法.
Bri*_*ian 11
find . -type d | sort | awk '$0 !~ last "/" {print last} {last=$0} END {print last}'
Run Code Online (Sandbox Code Playgroud)
miv*_*ivk 11
如果只想要叶子目录(不包含任何子目录的目录),请查看另一个问题.答案也解释了它,但简而言之就是:
find . -type d -links 2
Run Code Online (Sandbox Code Playgroud)
如果你正在寻找视觉上的东西,那tree -d很好.
drinks
|-- coke
| |-- cherry
| `-- diet
| |-- caffeine-free
| `-- cherry
|-- juice
| `-- orange
| `-- homestyle
| `-- quart
`-- pepsi
|-- clear
`-- diet