Estou processando um lote de dados de assuntos recursivamente, chamando o script dentro do diretório pai.
Por exemplo, eu tenho o diretório pai:
/home/subjects
e os subdiretórios que contêm os dados:
/home/subjects/0393
/home/subjects/0389
/home/subjects/9920 (Around 250 subjects)
Cada arquivo em cada subdiretório tem a extensão de arquivo ".nii". Eu compus um código, que chama um número de comandos de um programa de neurociência, procurando por aquela extensão de arquivo particular como a entrada. A entrada para o primeiro comando "fslroi" é o arquivo .nii ($ file), enquanto o arquivo de saída desse comando é "rawdata.nii". Como você pode ver a saída de um comando, é a entrada para o próximo etc
for file in $(find ./ -name "*.nii")
do
fslroi $file rawdata.nii 0 33
gunzip rawdata.nii.gz -f
fslroi rawdata.nii rawnodif 0 1
bet rawnodif rawnodif_brain -m -g 0.2 -f 0.3
fslmaths rawnodif -mas rawnodif_brain_mask rawnodif_brain
gunzip rawnodif_brain_mask.nii.gz -f
done
No entanto, esse código é inadequado, pois não consigo salvar a saída no subdiretório específico. Assim, como estou processando vários assuntos, o código não funcionará, pois tudo está sendo salvo no diretório pai.
Alguém poderia, por favor, ser capaz de me dar dicas de como eu posso modificar o código para salvar a saída de acordo com o arquivo ".nii" de entrada?