diff --git a/README.md b/README.md index dac0a86..4e30d1b 100644 --- a/README.md +++ b/README.md @@ -698,7 +698,17 @@ git rebase --interactive HEAD~2 ## List of git repositories in multiple directories. ```sh -find /path1 /path2 /path3 -regex '.*\.git' -type d -print0 | xargs -0 -I {} dirname {} +find -E ${targetdir} \( -regex '.*/\.git + -not -regex '.*/\..*/\.git + \) -type d -print0 | xargs -0 -I {} dirname {} +``` + + +__Alternatives:__ +```sh +find ${targetdir} -regextype posix-egrep \( -regex '.*/\.git + -not -regex '.*/\..*/\.git + \) -type d -print0 | xargs -0 -I {} dirname {} ``` diff --git a/tips.json b/tips.json index 107cbe7..6aa8bf7 100644 --- a/tips.json +++ b/tips.json @@ -313,5 +313,6 @@ "tip": "git rebase --interactive HEAD~2" }, { "title": "List of git repositories in multiple directories.", - "tip": "find /path1 /path2 /path3 -regex '.*\\.git' -type d -print0 | xargs -0 -I {} dirname {}" + "tip": "find -E ${targetdir} \\( -regex '.*/\\.git$' -not -regex '.*/\\..*/\\.git$' \\) -type d -print0 | xargs -0 -I {} dirname {}", + "alternatives": ["find ${targetdir} -regextype posix-egrep \\( -regex '.*/\\.git$' -not -regex '.*/\\..*/\\.git$' \\) -type d -print0 | xargs -0 -I {} dirname {}"] }]