pathScripts/gitscan

25 lines
678 B
Bash
Executable file

#!/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"