少し探し回っていて、これに対する解決策を見つけることができません。名前でleaf-directoryを探していると思います。この例では、moduleというサブディレクトリを持たない「modules」というディレクトリのリストを取得したいと思います。
modules/package1/modules/spackage1
modules/package1/modules/spackage2
modules/package1/modules/spackage3/modules
modules/package1/modules/spackage3/modules/spackage1
modules/package2/modules/
私が望むリストには
modules/package1/modules/spackage3/modules/
modules/package2/modules/
moduleというサブディレクトリを持たないmoduleという名前のすべてのディレクトリ
私は運がないのにこれを試すことから始めました
find . -name modules \! -exec sh -c 'find -name modules' \;
-execは終了コードで機能します。カウントを終了コードとして渡します。
find . -name modules -exec sh -c 'exit $(find {} -name modules|grep -n ""|tail -n1|cut -d: -f1)' \;
これは、modulesと呼ばれる各サブディレクトリの数を取得し、それを終了する必要があります。そのような愛はありません。