Você poderia usar isso
sed -n 's!^.*\^"\(http[^^]*\)"^.*!!p'
A pegadinha em potencial de um novato para REs é que ^ é um indicador para início da linha , então você tem que garantir que você escape \^ se você quiser uma seta para cima literal o início do seu RE.
A correspondência do padrão RE pode ser explicada da seguinte forma
-
^.*\^"- Combine desde o início da linha até vermos a última possível citação dupla^"que satisfaz o resto do padrão -
\(- Inicia um bloco de substituição que pode ser substituído como -
http[^^]*- corresponde ahttpseguido por tantos caracteres que não são^quanto possível -
\)- Encerra o bloco de substituição"^.*- Faça a correspondência entre aspas duplas e a seta para cima"^, o máximo possível (até o final da linha)
Essa correspondência inteira é substituída por , que é o bloco de padrões começando http