У меня есть несколько экспортов Freesurfer с подкаталогами с именем "stats" в каждом.Я хочу запустить bash-скрипт, который ищет каждую папку «stats», а затем CD к ней, запускает предопределенный скрипт perl, который преобразует указанные файлы статистики, содержащиеся в каждой папке.Я хочу, чтобы они запускались в каждой папке рекурсивно.Папкам статистики присваивается номер МРТ, а затем дата.
Мне удалось получить скрипт для разделения MRIDATE, MIRIID и создания файлов из подпапки одного из экспортов.Я не могу заставить его работать в подкаталоге ниже.
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
for D in */*/*/stats/; do
echo $D
if [ -d "${D}" ]; then
cd "${D}"
cwd=$(pwd)
D2=$(dirname "$cwd")
#Capture second folder in MRI name and date
MRINAME=$(basename "$D2")
DIRNAME2=$(basename "$D2")/$(basename "$cwd")
MRIID="$(cut -d'_' -f1 <<<"$MRINAME")"
echo "$MRIID"
MRIDATE="$(cut -d'_' -f2 <<<"$MRINAME")"
echo "$MRIDATE"
/Users/xxxxx/Documents/Bitbucket\ Repository/conversion-scripts/mri-read.pl -d $MRIDATE -s $MRIID lh.aparc.stats rh.aparc.stats wmparc.stats aseg.stats
fi
done