Eu tenho um diretório que é preenchido com subdiretórios e em cada subdiretório 74 arquivos. Eu tenho script bash que analisa os 74 arquivos e deseja executá-lo em paralelo em todos os diretórios.
Quando entro em cada subdiretório e executo manualmente o script, a saída é perfeita.
Ao tentar executar o script bash em paralelo, o script bash parece ser executado apenas em um arquivo.
Aqui está o código que estou usando para executar o script em paralelo
parallel "cd {} && bash Final_Fantasy.sh" :::: dir.lst
O mais estranho é que tenho outro script que é executado nos mesmos arquivos, usando o mesmo código acima, e resulta em 0 problemas.
O script que estou tentando executar é apenas um pouco simples de escrever e sobrescrever usando o awk e o sed com alguns ciclos de leitura while.
Há algo errado com meu código paralelo ou onde devo procurar problemas?
Obrigado!
Editar 1:
1) Script1.sh: Copie Final_Fantasy.sh e um único arquivo de saída (Output1.txt) em um diretório vazio.
2) Cada diretório encontrado em dir.lst agora contém apenas 2 arquivos, Output1.txt e Final_Fantasy.sh
3) A primeira linha do Final_Fantasy.sh corta o Output1.txt em 74 arquivos separados.
4) Final_Fantasy inclui várias linhas de awk, sed e grep para editar um dos 74 arquivos por vez, todos dentro de um ciclo de leitura.
5) Para algumas das etapas, escrevo a saída para um arquivo .txt para uso posterior.
6) Os passos finais do loop é pegar dois arquivos .txt e cat
juntos.
Eu também tenho um exit
no final do arquivo, pois eu esperava solucionar o loop se algo desse errado. Parece o seguinte:
done < $filename2
done < $filename1
exit
more code that works
A única coisa que posso pensar neste momento é 1) algo além do meu controle com o HPC. 2) exit
se comportando de forma engraçada e saindo após a primeira iteração do loop em vez de sair depois que todos os arquivos foram analisados.
Espero que isso ajude. Obrigado mais uma vez a todos!
Editar 2) Eu não consigo reproduzir este problema na minha máquina local, paralelamente e tudo, o que me leva a acreditar que é um problema estranho da HPC que eu não acho que eu tenho controle sobre .
Editar 3) Existe uma maneira de eu ter parallel
output o que ele está fazendo passo a passo para que eu possa ver onde o problema está ocorrendo?