Template
mirror of
https://github.com/egmont11/ASP.Net-Core-MVC-Template.git
synced 2026-07-24 07:09:56 +02:00
51 lines
1.2 KiB
Bash
51 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ $# -ne 1 ]]; then
|
|
echo "Usage: $0 <NewProjectName>"
|
|
exit 1
|
|
fi
|
|
|
|
NEW_NAME="$1"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
ROOT="$SCRIPT_DIR/Template"
|
|
|
|
if [[ ! -d "$ROOT" ]]; then
|
|
echo "Error: Template directory not found at $ROOT"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Renaming 'Template' -> '$NEW_NAME' in: $ROOT"
|
|
|
|
# Rename files first (deepest first to avoid path issues)
|
|
while IFS= read -r -d '' path; do
|
|
dir="$(dirname "$path")"
|
|
base="$(basename "$path")"
|
|
new_base="${base//Template/$NEW_NAME}"
|
|
if [[ "$base" != "$new_base" ]]; then
|
|
echo " FILE: $base -> $new_base"
|
|
mv "$path" "$dir/$new_base"
|
|
fi
|
|
done < <(find "$ROOT" \
|
|
-not -path "*/bin/*" \
|
|
-not -path "*/obj/*" \
|
|
-not -path "*/.idea/*" \
|
|
-type f -name "*Template*" -print0 | sort -rz)
|
|
|
|
# Rename directories (deepest first)
|
|
while IFS= read -r -d '' path; do
|
|
parent="$(dirname "$path")"
|
|
base="$(basename "$path")"
|
|
new_base="${base//Template/$NEW_NAME}"
|
|
if [[ "$base" != "$new_base" ]]; then
|
|
echo " DIR: $base -> $new_base"
|
|
mv "$path" "$parent/$new_base"
|
|
fi
|
|
done < <(find "$ROOT" \
|
|
-not -path "*/bin/*" \
|
|
-not -path "*/obj/*" \
|
|
-not -path "*/.idea/*" \
|
|
-type d -name "*Template*" -print0 | sort -rz)
|
|
|
|
echo "Done."
|