De acordo com man parallel
, você pode usar alguns marcadores para ajudá-lo. Por exemplo, você pode reescrever seu código para:
parallel curl "${CURL_ARGS[@]}" -o '{#}'.curl_output '{}' :::: links.txt
onde ${CURL_ARGS[@]}
são todos os seus argumentos para curl
e links.txt
tem um URL por linha. Este comando busca as URLs em links.txt
e armazenará o resultado em um arquivo com o nome do número da tarefa em vez de executar curl (por exemplo, 10.curl_output
). Você teria que marchar o número do trabalho com URLs.
Outra abordagem seria chamar curl
com -o '{}'._curl_output
. Nesse caso, você teria que lidar com caracteres especiais em URLs ( /
, por exemplo).
Além disso, você também pode dividir as colunas em links.txt
, que contém um URL e um arquivo de saída por linha. Isso permitiria que você fizesse
parallel --colsep " " curl "${CURL_ARGS[@]}" -o '{1}' '{2}' :::: links.txt
O --colsep
dividirá as linhas com base no delimitador provido como seu argumento ( " "
neste caso).