Obtém o nome do arquivo de um wget --content-disposition

1

Dentro de um script bash, estou baixando um arquivo dinamicamente e, portanto, uso wget --content-disposition para garantir que os nomes dos arquivos estejam corretos, mas como devo proceder para recuperar o nome do arquivo wget como ...? p>     

por Roflmuffin 08.10.2015 / 12:14

1 resposta

0

Aqui está uma maneira de fazer isso com wget e cut :

wget -nv https://upload.wikimedia.org/wikipedia/commons/5/54/Golden_Gate_Bridge_0002.jpg 2>&1 |cut -d\" -f2

Explicação, wget -nv ... imprime algo assim:

2016-11-15 14:58:44 URL:https://upload.wikimedia.org/wikipedia/commons/5/54/Golden_Gate_Bridge_0002.jpg [1072554/1072554] -> "Golden_Gate_Bridge_0002.jpg.22" [1]

O sinalizador -nv no wget apenas o torna "não-detalhado" (consulte: man wget )

Como wget grava sua saída para STDERR , temos que redirecioná-lo para STDOUT antes que possamos extrair o texto; para fazer isso, adicionamos 2>& no final do wget . Então, para sair apenas o nome do arquivo no final, usei cut . O -d\" é para especificar que estamos usando " como um delimitador. O -f2 especifica que queremos a segunda "coluna", ou seja, os dados entre o primeiro e o segundo delimitadores " .

Primeira coluna: 2016-11-15 14:58:48 URL:https://upload.wikimedia.org/wikipedia/commons/5/54/Golden_Gate_Bridge_0002.jpg [1072554/1072554] -> " Golden_Gate_Bridge_0002.jpg.23 '"[1]

    
por 15.11.2016 / 21:02