Filtrar uma linha e armazenar resultados [RESOLVIDO]

1. Filtrar uma linha e armazenar resultados [RESOLVIDO]

Paulo Henrique Santiago Goes
lordwadder

(usa Fedora)

Enviado em 30/03/2009 - 20:21h

Basicamente, eu estou com o mesmo problema do .frank. neste post (http://www.vivaolinux.com.br/topico/Sed-Awk-ER-Manipulacao-de-Textos-Strings/Como-pegar-apenas-parte-de-uma-linha/). Eu adaptei um script pra baixar vídeos do YouTube que só pede o id ou url do vídeo (http://www.vivaolinux.com.br/script/Faca-download-de-videos-do-YouTube-convertendo-para-MPEG). Mas o nome do vídeo fica com o id dele ex: zxW565pqY.flv e não é isso que eu queria. Eu queria que o video tivesse o mesmo nome que aparece no título da página. Para tal, eu uso o wget pra pegar a página .html e o cat pra checá-la e obtenho a saída "<title>YouTube - Video sobre tal coisa</title>". Tudo que eu preciso é pegar o nome do vídeo (sem as strings "<title>YouTube - " e "</title>") e armazená-lo numa variável pra posteriormente, renomear o video com o valor dessa variável. Me ajudem, se isso for possível


  


2. MELHOR RESPOSTA

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 31/03/2009 - 13:17h

Não sei se entendi bem, mas se o que você quer é só cortar o nome, utilise o SED.

Como não sei bem como você adquire a string, vou entender que ela entra em uma variável ABC (ABC=`cat ...`) e ai é só seguir o exemplo:

ABC="<title>YouTube - Video sobre tal coisa</title>".
TITULO=`echo $ABC | sed -e 's/<title>YouTube - //g' -e 's/<\/title>//g`
echo $TITULO

ATENCAO: não esqueça da "\" antes da barra do </title> pois a barra é um caracter especial para o SED.

3. Mande um ...

Davi Ribeiro
dastyler

(usa Fedora)

Enviado em 30/03/2009 - 20:57h

grep 'You Tube' na parte do seu ecsript que voce quer que pegue o nome do video...

[]´s







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts