#!/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)) мс."