Buscando detalhes usando o awk na lista zenity

0

Estou usando o youtube-dl para buscar vídeos e seu formato. este é o meu código

youtube-dl -F https://www.youtube.com/watch?v=uvr1xiEaICU |awk 'NR > 5 { print}' | zenity  --list  --column "youtube"

E este é o resultado em listbox

249          webm       audio only DASH audio , opus @ 50k
250          webm       audio only DASH audio , opus @ 70k
251          webm       audio only DASH audio , opus @160k
140          m4a        audio only DASH audio  128k , m4a_dash container, aac  @128k (44100Hz), 4.21MiB
171          webm       audio only DASH audio  131k , audio@128k (44100Hz), 3.90MiB
160          mp4        256x138    DASH video  110k , 12fps, video only, 3.60MiB
278          webm       256x138    DASH video  113k , webm container, VP9, 12fps, video only, 2.82MiB
133          mp4        426x230    DASH video  252k , 24fps, video only, 8.10MiB
242          webm       426x230    DASH video  263k , 24fps, video only, 5.86MiB
243          webm       640x346    DASH video  482k , 24fps, video only, 10.34MiB
134          mp4        640x346    DASH video  609k , 24fps, video only, 13.93MiB
244          webm       854x462    DASH video  818k , 24fps, video only, 17.30MiB
135          mp4        854x462    DASH video 1114k , 24fps, video only, 27.40MiB
247          webm       1280x692   DASH video 1621k , 24fps, video only, 31.78MiB
136          mp4        1280x692   DASH video 2229k , 24fps, video only, 52.99MiB
17           3gp        176x144    
36           3gp        320x240    
5            flv        400x240    
43           webm       640x360    
18           mp4        640x360    
22           mp4        1280x720   (best)

O problema no código acima é que ele publica todos esses dados em uma única coluna (youtube) dentro da caixa de listagem zenity. Eu quero esses detalhes em colunas separadas na caixa de listagem

por exemplo

 I            F            A             D              R

249     |     webm   |    audio only| DASH audio | opus @ 50k etc

onde eu, F, A, D, R são colunas

    
por potholiday 11.06.2015 / 14:51

1 resposta

2

Aqui está sua solução

youtube-dl -F https://www.youtube.com/watch\?v\=uvr1xiEaICU | sed 's/audio only/audio only  /' | awk -F'\s{3,}| , ' 'NR>5 {for(i=1;i<=5;i++){print $i}}' | zenity --list --column="I" --column="F" --column="A" --column="D" --column="R"

Explicação

O comando

youtube-dl -F https://www.youtube.com/watch\?v\=uvr1xiEaICU

retorna

[youtube] uvr1xiEaICU: Downloading webpage
[youtube] uvr1xiEaICU: Extracting video information
[youtube] uvr1xiEaICU: Downloading DASH manifest
[info] Available formats for uvr1xiEaICU:
format code  extension  resolution note
249          webm       audio only DASH audio , opus @ 50k
250          webm       audio only DASH audio , opus @ 70k
251          webm       audio only DASH audio , opus @160k
140          m4a        audio only DASH audio  128k , m4a_dash container, aac  @128k (44100Hz), 4.21MiB
171          webm       audio only DASH audio  131k , audio@128k (44100Hz), 3.90MiB
160          mp4        256x138    DASH video  110k , 12fps, video only, 3.60MiB
278          webm       256x138    DASH video  113k , webm container, VP9, 12fps, video only, 2.82MiB
133          mp4        426x230    DASH video  252k , 24fps, video only, 8.10MiB
242          webm       426x230    DASH video  263k , 24fps, video only, 5.86MiB
243          webm       640x346    DASH video  482k , 24fps, video only, 10.34MiB
134          mp4        640x346    DASH video  609k , 24fps, video only, 13.93MiB
244          webm       854x462    DASH video  818k , 24fps, video only, 17.30MiB
135          mp4        854x462    DASH video 1114k , 24fps, video only, 27.40MiB
247          webm       1280x692   DASH video 1621k , 24fps, video only, 31.78MiB
136          mp4        1280x692   DASH video 2229k , 24fps, video only, 52.99MiB
17           3gp        176x144    
36           3gp        320x240    
5            flv        400x240    
43           webm       640x360    
18           mp4        640x360    
22           mp4        1280x720   (best)

Precisamos de uma lista com algumas modificações:

sed 's/audio only/audio only  /' | awk -F'\s{3,}| , ' 'NR>5 {for(i=1;i<=5;i++){print $i}}'

Saída:

249
webm
audio only
DASH audio
opus @ 50k
250
webm
audio only
DASH audio
opus @ 70k
251
webm
audio only
DASH audio
opus @160k
140
m4a
audio only
DASH audio  128k
m4a_dash container, aac  @128k (44100Hz), 4.21MiB
171
webm
audio only
DASH audio  131k
audio@128k (44100Hz), 3.90MiB
160
mp4
256x138
DASH video  110k
12fps, video only, 3.60MiB
278
webm
256x138
DASH video  113k
webm container, VP9, 12fps, video only, 2.82MiB
133
mp4
426x230
DASH video  252k
24fps, video only, 8.10MiB
242
webm
426x230
DASH video  263k
24fps, video only, 5.86MiB
243
webm
640x346
DASH video  482k
24fps, video only, 10.34MiB
134
mp4
640x346
DASH video  609k
24fps, video only, 13.93MiB
244
webm
854x462
DASH video  818k
24fps, video only, 17.30MiB
135
mp4
854x462
DASH video 1114k
24fps, video only, 27.40MiB
247
webm
1280x692
DASH video 1621k
24fps, video only, 31.78MiB
136
mp4
1280x692
DASH video 2229k
24fps, video only, 52.99MiB
17
3gp
176x144


36
3gp
320x240


5
flv
400x240


43
webm
640x360


18
mp4
640x360


22
mp4
1280x720
(best)

E com zenity

zenity --list --column="I" --column="F" --column="A" --column="D" --column="R"

temos isso:

    
por A.B. 11.06.2015 / 18:23