Попробуйте это с помощью GNU grep, чтобы получить URL с двумя косыми чертами:
grep -o 'http[s]*://[^/][^\\]*' file
URL с двумя и более косыми чертами:
grep -o 'http[s]*://[^\\]*' file
Рекомендуемая литература: The Stack Overflow Regular Expressions FAQ
[s]*
: звездообразный квантификатор (*
) означает, что предыдущее выражение может совпадать ноль или более раз. Здесь предшествующее выражение может быть любым символом из класса символов (отмеченных скобками), который содержит толькоs
. Проще использоватьs*
.
[^\\\]*
: соответствует любому символу, кроме обратной косой черты, ноль или более раз. Я экранировал обратную косую черту, чтобы предотвратить экранирование]
.