Shell 只列出目录的各种方法

Shell 只列出目录的各种方法,用脚本只列出目录不是件容易事。本章介绍了多种只列出目录的方法。

Shell 只列出目录的各种方法

预备知识

有很多种方法可以只列出目录。dir类似于ls,但选项更少。另外也可以使用lsfind来列出目录。

实战演练

可以依据下列方法列出当前路径下的目录。
(1) 使用ls -d

$ ls -d */

(2) 使用grep结合ls -F

$ ls -F | grep "/$"

(3) 使用grep结合ls -l

$ ls -l | grep "^d"

(4) 使用find

$ find . -type d -maxdepth 1 -print

工作原理

当使用ls-F选项时,所有的输出项后面都会多出一个代表文件类型的字符,如@*|等。目录对应的是/字符。我们用grep只过滤那些行尾标记为/$的输出项。

ls –l输出的每一行的首字符表示文件类型。目录的文件类型字符是d。因此我们用grep过滤以d起始的行。^是行首标记。

使用find命令的时候可以指定-type的参数为d并将maxdepth设置成1,这是因为我们不需要继续向下搜索子目录。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程