正在四處搜索,找不到此解決方案。我想我正在尋找一個名字的葉子目錄。在這個例子中,我想獲得一個名爲「模塊」的目錄列表,它沒有一個名爲module的子目錄。查找不包含特定目錄的目錄
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/
所有的目錄,沒有一個名爲模塊子目錄
我開始嘗試一些本沒有運氣
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/package1/modules/spackage1/modules /'不是您在示例結構中指定的目錄。謝謝。 – beny23
有趣的是,我剛剛注意到 'find。 -name modules -exec sh -c'exit 0'\;' 不會返回任何結果。基於手冊頁,我猜測0號出口會使得它和-exec語句不存在一樣。 –