Shell 只列出目录的各种方法,用脚本只列出目录不是件容易事。本章介绍了多种只列出目录的方法。
预备知识
有很多种方法可以只列出目录。dir类似于ls,但选项更少。另外也可以使用ls和find来列出目录。
实战演练
可以依据下列方法列出当前路径下的目录。
(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,这是因为我们不需要继续向下搜索子目录。
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com