在我的git存储库中,我在根目录下有一个小目录结构,在.git
目录下有一个非常大的目录结构。我想使用find
命令获取$(REPO_DIR)
下所有目录的列表,但不包括$(REPO_DIR)/.git
下的任何目录(包括)。我试过像
find $(REPO_DIR) -type d ! -name ".git"
和
find $(REPO_DIR) -wholename ".git" -prune -type d
但遗憾的是没有人按预期工作,有什么建议吗?
答案 0 :(得分:2)
尝试:
find . -type d -not -iwholename '*.git*'
或:
find . -type d -not -path './.git*'
答案 1 :(得分:0)
作为替代方案,如果您使用bash,则可以启用extglob
模式。
shopt -s extglob
这将允许您(从$(REPO_DIR)
内):
find !(.git) -type d
有关详细信息,请参阅此答案:https://stackoverflow.com/a/217017/24