#!/bin/bash output_file="./repos.txt" # Clear the existing file or create it if it doesn't exist > "$output_file" # Find all .git directories in the current folder and subfolders, # excluding hidden directories and suppressing permission denied errors find . -type d -name ".git" -not -path "*/.*/*" 2>/dev/null | while read -r gitdir; do # Get the parent directory of the .git folder repo_path=$(dirname "$gitdir") echo "$repo_path" >> "$output_file" done echo "Git repositories have been written to $output_file" # Remove duplicate entries sort -u "$output_file" -o "$output_file" echo "Duplicate entries removed. Final list:" cat "$output_file"