Primeiro, um aviso obrigatório. Geralmente é uma idéia muito ruim para tentar analisar HTML com ferramentas simples como expressões regulares. Dito isso, nesse caso, se você tiver certeza de que o que deseja sempre estará entre file: e o primeiro , , você pode usar:
wget -O - http://vodlocker.com/embed-wrdlm4dbigu4-850x450.html 2>/dev/null |
grep -oP 'file:\K[^,]*'
Você precisa que o -O - indique wget para imprimir o html como padrão, em vez de salvar em um arquivo. Isso é canalizado por meio de grep com expressões regulares compatíveis com Perl ( -P ) e -o para informar que apenas imprime a parte correspondente da linha. A regex em si procura file: e, em seguida, descarta-a ( \K ) e, em seguida, 0 ou mais caracteres não- , ( [^,]* ). O 2>/dev/null descarta as mensagens do wget.
Note que no URL de exemplo que você deu, há três correspondências:
$ wget -O - http://vodlocker.com/embed-wrdlm4dbigu4-850x450.html | grep -oP 'file:\K[^,]*'
"http://77.81.98.228:8777/n2ceexa2lo4pcnokaldsf4o64qg7le7rp2xxamcxtdebwqbtaozwssfetq/v.mp4"
"http://vodlocker.com/dl?op=get_slides&file_code=wrdlm4dbigu4"
"http://vodlocker.com/images/vodjw_logo.png"
Se você sabe que só precisa do primeiro, use -m 1 para informar grep para parar após o primeiro jogo:
$ wget -O - http://vodlocker.com/embed-wrdlm4dbigu4-850x450.html 2>/dev/null |
grep -m1 -oP 'file:\K[^,]*'
"http://77.81.98.228:8777/n2ceexa2lo4pcnokaldsf4o64qg7le7rp2xxamcxtdebwqbtaozyasfetq/v.mp4"