Emitir usando xargs no Linux

1

Eu estou tentando canalizar a saída do youtube-dl para xargs , como gostaria de nomear o arquivo baixado com o título extraído do primeiro comando. no entanto estou tendo problemas para fazê-lo. O comando que estou usando é o seguinte:

youtube-dl --get-title "Youtube URI" | xargs youtube-dl -o {} "YouTube URI"

    
por PeanutsMonkey 12.06.2012 / 00:20

2 respostas

3

Para resolver sua pergunta específica sobre xargs , é necessário especificar que você deseja usar o espaço reservado {} :

youtube-dl --get-title "Youtube URI" |\
    xargs -I{} youtube-dl -o {} "Youtube URI"

Veja man xargs para mais informações e quais opções também estão implícitas em -I .

Como é apenas um único argumento, seria mais simples usar a substituição:

youtube-dl -o "$(youtube-dl --get-title "Youtube URI")" "Youtube URI"

Observe que essas construções fornecerão um arquivo sem extensão de arquivo apropriada.

A maneira mais direta de realizar sua tarefa atual seria como usar a opção de nomeação de títulos integrada:

youtube-dl -t "Youtube URI"

conforme descrito em man youtube-dl . Isso também produzirá a extensão de arquivo correta para o arquivo de vídeo.

    
por 12.06.2012 / 09:03
2

Eu tenho lido as páginas man do youtube-dl: o que você está tentando fazer é muito mais simples que isso, você só precisa do sinalizador -t, - title.

youtube-dl --title "Youtube URL"

ou

youtube-dl -t "Youtube URL"

link

    
por 12.06.2012 / 04:00

Tags