Я новичок в кодировании и пытаюсь выполнить итерацию по папкам, чтобы найти конкретный файл (называемый одним и тем же в каждой папке). У меня есть 3 папки (CONTROL, GROUP1 и GROUP2). Каждая папка имеет 2 подпапки в ней из названий папок (2 3 4 5 6 7. Каждая подпапка имеет в ней файл с именем подпапки, таким как 2_diff.nii или 3_diff.nii. Я хотел бы, чтобы код включался в каждый папка, найти вложенные папки и затем выполнить анализ файла там. Проблема в том, что мой код, похоже, ищет каждую подпапку в каждой основной папке, и каждая основная папка имеет только 2 подпапки из (2 3 4 5 6 7) Любые советы будут с благодарностью. - спасибо !!Итерация через папки для определенных файлов в BASH
Folders=(CONTROL GROUP1 GROUP2)
SubFolders=(2 3 4 5 6 7)
data_source=/Users/sheena/Desktop/test/
for j in ${Folders[@]}; do
cd ${data_source}/${j}/
for i in ${SubFolders[@]}; do
fslroi ${i}_diff.nii ${i}_nodif 0 1 #I want to analyze the file <subfolder>_diff.nii and name the output as <subfolder>_nodif.nii
done
done
Здравствуйте, большое спасибо за ваш ответ. Я не был знаком с командой continue, но она отлично работала! – Sheenas
Теперь, когда я смотрю на него, я задаюсь вопросом, почему я не сделал очевидного и поместил командную строку 'fslroi' в блок' if'. Тогда мне не понадобилось бы «продолжить». В любом случае, если он работает, он работает. – chw21