Linux命令:目录中的目录

时间:2009-04-19 18:15:13

标签: linux command-line directory

所以我有一个目录 - 让我们说/ dir /。 在其中我有这些文件夹 - /目录/ fold1 / /目录/ fold2 / /目录/ fold3 /

这些文件夹(fold1,2,3)中的每一个都可能包含一个名为foo的文件夹。我想列出dir中的所有文件夹,里面有一个名为foo的文件夹。

谢谢!

5 个答案:

答案 0 :(得分:2)

使用它:

find dir -type d -name foo

所以... dir是您要搜索的目录。

-type是您正在寻找的类型: d irectory, f ile或 l 墨水。< / p>

-name是您要查找的内容的名称,区分大小写。如果您希望它不区分大小写,可以使用-iname

答案 1 :(得分:2)

怎么样?
ls -R /dir | grep -i foo

打破我们的命令: ls -R =递归列出文件(包括目录

grep -i foo =将采用上面的命令并过滤不区分大小写以显示'foo'的任何实例。

答案 2 :(得分:2)

ls -ld /dir/*/foo | grep ^d

答案 3 :(得分:1)

我建议:

find /dir -name foo -type d -exec dirname {} \; | xargs ls

但如果任何目录中包含空格,则无效。

答案 4 :(得分:1)

如果要列出第一级只包含名为foo的子目录的所有目录,可以

for x in /dir/*; do
  [ -d $x/foo ] && ls $x
done

[ ... ]构造是shell内置test的缩写。 -d $x/foo测试$x/foo是否存在且是否为目录。如果是,则执行ls $x