本文介绍了击:列出所有只包含两个子文件夹的目录:文件夹1和文件夹2?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

作为标题,有人可以帮助回答这个只使用Bash?

As in the title, can someone help to answer this only using the Bash?

我花了一些时间不能弄明白。谢谢你。

I spent some time can't figure it out. Thanks.

推荐答案

下面应该列出只包含两个文件夹的目录文件夹1 文件夹2

The following should list the directories containing only two folders folder1 and folder2.

for i in $(find . -type d); do count=$(find $i -mindepth 1 -maxdepth 1 -type d | wc -l); [ $count -eq 2 ] && [ -d $i/folder1 ] && [ -d $i/folder2 ] && echo $i ; done

以上不会理会,如果文件夹有其他的文件的。如果你想确保只有目录文件夹1 文件夹2 ,说:

The above wouldn't care if the folders have other files. If you want to ensure only directories folder1 and folder2, say:

for i in $(find . -type d); do count=$(find $i -mindepth 1 -maxdepth 1 | wc -l); [ $count -eq 2 ] && [ -d $i/folder1 ] && [ -d $i/folder2 ] && echo $i ; done

[但是要注意,上述可能无法在目录名称空间的工作。]

[Be warned that the above might not work with spaces in directory names.]

这篇关于击:列出所有只包含两个子文件夹的目录:文件夹1和文件夹2?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 03:46