Spi*_*Xel 54 linux command-line ls
有没有办法使用 bash 命令仅列出目录中的文件夹?(因为该ls命令列出了所有文件和文件夹)
Gaf*_*aff 70
您可以使用:
ls -d -- */
Run Code Online (Sandbox Code Playgroud)
由于所有目录都以 结尾/,因此仅列出当前路径中的目录。该-d选项确保只有目录名称都印,而不是它们的内容。
dan*_*ann 29
斯蒂芬马丁的回应发出了警告,并列出了当前文件夹,所以我建议
find . -mindepth 1 -maxdepth 1 -type d
Run Code Online (Sandbox Code Playgroud)
(这是在 Linux 上;我在查找的 POSIX 手册页中找不到 -maxdepth 和 -mindepth)
squ*_*org 13
find . -maxdepth 1 -type d
Run Code Online (Sandbox Code Playgroud)
将只列出文件夹。正如 Teddy 指出的,你需要 -maxdepth 来阻止它递归到子目录中
丹尼尔的回答是正确的。不过,这里有一些有用的补充。
为避免列出隐藏文件夹(如.git),请尝试以下操作:
find . -mindepth 1 -maxdepth 1 -type d \( ! -iname ".*" \)
Run Code Online (Sandbox Code Playgroud)
并在某些环境中替换输出开头的可怕点斜线find,请使用:
find . -mindepth 1 -maxdepth 1 -type d \( ! -iname ".*" \) | sed 's|^\./||g'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121503 次 |
| 最近记录: |