#!/bin/bash output_file=~/workshop/repos.txt # Ensure the output directory exists mkdir -p "$(dirname "$output_file")" # Clear the existing file > "$output_file" # Find all .git directories, 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"