23 lines
1.2 KiB
Bash
Executable file
23 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
echo "Обновление домена удалённого репозитория в перекрёстных ссылках в описаниях."
|
|
domain="git.org.ru" && source info_param.sh
|
|
# название домена в верхнем регистре
|
|
DOMAIN="${domain^^}"
|
|
# шаблоны для подстановки
|
|
expr+=("s|codeberg\.org|$domain|g")
|
|
expr+=("s|CODEBERG\.ORG|$DOMAIN|g")
|
|
expr+=("s|git\.org\.ru|$domain|g")
|
|
expr+=("s|GIT\.ORG\.RU|$DOMAIN|g")
|
|
expr+=("s|hub\.mos\.ru|$domain|g")
|
|
expr+=("s|HUB\.MOS\.RU|$DOMAIN|g")
|
|
if [ "$domain" == "hub.mos.ru" ]; then
|
|
expr+=("s|src/branch|blob|g")
|
|
else
|
|
expr+=("s|blob|src/branch|g")
|
|
fi
|
|
cd ../.. # выход из папки и из репозитория
|
|
time_ms="$(date '+%s%3N')"
|
|
# поиск файлов "README" в корне каждого репозитория, замена строк по шаблонам и сортировка вывода
|
|
find . -maxdepth 2 -type f -name "README*.md" -printf '%p\0' | xargs -I{} -n1 -0 -P0 bash -c \
|
|
"echo '$domain => {}' && sed -i $(printf " -e '%s'" "${expr[@]}") '{}'" | LC_COLLATE=C sort
|
|
echo "Общее время выполнения: $(($(date '+%s%3N') - time_ms)) мс."
|