В файле моего репозитория Linux есть ссылка, которая до сих пор использовала http с номером порта, чтобы указать на его репозиторий.Как отредактировать строку url с sed
BaseUrl = http://host.domain.com:123/folder1/folder2
я теперь нужен способ, чтобы заменить этот URL, чтобы использовать протокол HTTPS, без порта или другой порт. Мне также нужно изменить имя сервера, например, с host.domain.com на host2.domain.com
Итак, моя идея состояла в том, чтобы использовать sed для поиска начала http до первого/после того, как 2 // таким образом поймает все, что между ними, и даст мне возможность изменять порт сервера или использование http \ s.
Im теперь использую этот код (им с помощью эха только для примера):
пример показывает, как в 2-х случаях, когда один раз у меня есть связь с HTTP и порт 123 преобразуются в HTTPS и во второй раз другой путь вокруг и оба кода я использовал один и тот же sed по общим причинам.
WANTED_URL="https://host.domain.com"
echo 'http://host.domain.com:123/folder1/folder2' | sed -i "s|http.*://[^/]*|$WANTED_URL|"
ИЛИ
WANTED_URL="http://host.domain.com:123"
echo 'https://host.domain.com/folder1/folder2' | sed -i "s|http.*://[^/]*|$WANTED_URL|"
является то, что правильный способ сделать это?
что я хочу поймать его до косой черты и от http, поэтому мне всегда нужно будет добавить только полный URL-адрес (с портом или без него). –
Ни один из ответов не работает для вас? –
Да, это работает в обоих направлениях –