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).