substituição dentro da cadeia de comandos paralela

2

Quero fazer o download de vários arquivos e salvá-los na soma md5 de seu nome:

cat list | parallel -j4 "md5=$(wget -O - {} | tee tmpfile_{#} | md5sum | cut -d ' ' -f 1); mv tmpfile_{#} $md5"

mas o problema é que o bash parece executar o wget antes que a execução do paralelo substitua {} ... então wget quer fazer o download de http://{}

então como pode paralelo substituir suas variáveis antes da execução do subcomando?

    
por reox 24.04.2013 / 10:40

1 resposta

3

alguma tentativa e erro depois:

cat list | parallel -j4 'md5=$(wget -O - {} | tee tmpfile_{#} | md5sum); mv tmpfile_{#} ${md5%% *}'

apenas substitua " por ' não permite que o bash substitua algo primeiro

    
por 24.04.2013 / 10:56