Unindo urls para um utilitário de download (como wget) em uma linha

4

Considere estes códigos wget :

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh
wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/nixta.sh

Existe alguma maneira elegante de unir terminais diferentes da mesma URL básica acima, em uma linha, em vez de 2 ou mais?

Pseudocódigo:

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh||nixta.sh
    
por Arcticooling 13.01.2018 / 20:51

2 respostas

8

Como wget aceita várias URLs ao mesmo tempo, isso pode ser feito usando a expansão de chaves em bash :

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj.sh,nixta.sh}

(ou mesmo

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj,nixta}.sh

mas isso só funciona para nomes bem adequados, é claro).

    
por 13.01.2018 / 20:57
0

Eu fiz isso usando o comando awk e loop. Deixe-me saber por quaisquer dúvidas e confusões

Criado um arquivo example.txt colocando abaixo o conteúdo em um arquivo

cat example.txt

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/

Eu atribuí papj.sh nixta.sh para a variável i

Usado abaixo do script para executar conforme sua exigência

for i in papj.sh nixta.sh; do awk -v i="$i" '{print $0i}' example.txt; done

Saída

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/nixta.sh
    
por 14.01.2018 / 13:20