Команда basename
делает это . Вы можете использовать такую команду: copyDir = $ (basename $ srcDir)
Это дополнительный -вопрос к «скрипту оболочки внутри докера ». Спасибо, что выложили в отдельную тему!
То, что я, вероятно, сделал бы здесь, так как создание вашего массива all_ids
должно быть немного сложнее, чем просто синтаксический анализ идентификатора из имен каталогов, заключается в использовании цикла, в котором каждый идентификатор сверяется с именами файлов. каталог /output/fmriprep
. Если для данного идентификатора не найден выходной файл, , затем идентификатор добавляется в список all_ids
.
all_ids=()
for dirname in /input/sub-*/; do
id=${dirname#/input/sub-} # remove "/input/sub-"
id=${id%/} # remove trailing "/"
if [ ! -e "/output/fmriprep/sub-$id.html" ]; then
# no output file corresponding to this ID found,
# add it to he list
all_ids+=( "$id" )
fi
done