[英]Linux Command: Directory inside a directory
所以我有一个目录 - 让我们说/ dir /。 在其中我有这些文件夹 - / dir / fold1 / / dir / fold2 / / dir / fold3 /
这些文件夹中的每一个(fold1,2,3)都可能包含一个名为foo的文件夹。 我想列出dir中的所有文件夹,里面有一个名为foo的文件夹。
谢谢!
用这个:
find dir -type d -name foo
所以...... dir
是你想要搜索的目录。
-type
是他们所寻找的类型: d irectory, f ile或l ink。
-name
是您要查找的内容的名称,区分大小写。 如果您希望它不区分大小写,可以使用-iname
。
关于什么
ls -R /dir | grep -i foo
打破我们的命令: ls -R
=递归列出文件(包括目录
grep -i foo
=将采用上面的命令并过滤它不区分大小写以显示'foo'的任何实例。
ls -ld /dir/*/foo | grep ^d
我提议:
find /dir -name foo -type d -exec dirname {} \; | xargs ls
但是如果任何目录中有空格,这不起作用。
如果要列出在第一级只包含名为foo
的子目录的所有目录,则可以执行此操作
for x in /dir/*; do
[ -d $x/foo ] && ls $x
done
[ ... ]
构造是shell内置test
的缩写。 -d $x/foo
测试$x/foo
存在并且是一个目录。 如果是,则执行ls $x
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.