wget output baseado em regex

0

Eu tenho uma lista muito longa de arquivos no seguinte formato:

https://server.com/Nonsense%20text%20Actual%20Filename01.ext<br>
https://server.com/Non%20essential%20text%20Actual%20Filename02.ext<br>
https://server.com/Not%20required%20text%20Actual%20Filename03.ext<br>

A questão é como aplicar o regex ao wget -O, de modo que somente o padrão à direita, ou certa quantidade de caracteres à direita, resulta nos arquivos de saída?

wget https://server.com/Non%20essential%20text%20Actual%20Filename02.ext -O Actual Filename02.ext
    
por Adonis 27.03.2018 / 10:31

1 resposta

0

Acho que você quer uma função, por exemplo:

function dl() {
  URL="$1"
  NAME=$(egrep -io 'filename[0-9]{1,2}\.ext' <<< "$URL")
  echo wget -O "$NAME" "$URL"
}

Agora você pode usar sua função dl :

$ for url in $(cat url_list.txt); do dl $url; done
wget -O Filename01.ext https://server.com/Nonsense%20text%20Actual%20Filename01.ext<br>
wget -O Filename02.ext https://server.com/Non%20essential%20text%20Actual%20Filename02.ext<br>
wget -O Filename03.ext https://server.com/Not%20required%20text%20Actual%20Filename03.ext<br>
    
por 27.03.2018 / 12:05