Сравнение двух массивов bash внутри докера

Команда basename делает это . Вы можете использовать такую ​​команду: copyDir = $ (basename $ srcDir)

0
06.03.2019, 13:24
1 ответ

Это дополнительный -вопрос к «скрипту оболочки внутри докера ». Спасибо, что выложили в отдельную тему!

То, что я, вероятно, сделал бы здесь, так как создание вашего массива 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
1
28.01.2020, 02:40

Теги

Похожие вопросы