Imprimindo a linha após ou antes de uma correspondência de expressão regular no Bash

3

Dada uma string como a seguinte:

BASH - Mplayer Playlist Shuffle
http://www.youtube.com/watch?v=IB7SCPtbJM8
metalx1000
BASH - Playing Music
http://www.youtube.com/watch?v=S_-EGoLYCXY
metalx1000
BASH - Burn ISO images with cdrecord in Linux
http://www.youtube.com/watch?v=BxAEGa9NKs8
metalx1000
BASH - replace space in file names
http://www.youtube.com/watch?v=MRlUPV1221Y
metalx1000

Qual seria a melhor maneira de colocar os títulos, as URLs e os uploaders em variáveis separadas?

Meu pensamento foi encontrar uma maneira de grep , sed ou awk www.youtube.com e, em seguida, imprimir a linha acima ou abaixo dela. Em seguida, salve-o em uma variável. Eu não tive sorte em encontrar uma solução que funcionasse.

    
por cadejscroggins 28.12.2012 / 04:43

1 resposta

3

Algo parecido com isto:

$ while read -r title
> do
>  read -r url
>  read -r uploader
>  echo "Title is $title "
>  echo "Url is $url "
>  echo "Uploader is $uploader"
> done < file
    
por 28.12.2012 / 05:29