批处理:文件名比较错误

时间:2017-11-09 18:00:00

标签: bash for-loop batch-processing

我编写了一个程序(Cifti_subject_fmri),它比较两个文件夹中的文件名是否匹配,并基本上执行一组指令

 #!/bin/bash -- fix_mni_paths

    source activate ciftify_v1.0.0
    export SUBJECTS_DIR=/scratch/m/mchakrav/dev/functional_data
    export HCP_DATA=/scratch/m/mchakrav/dev/tCDS_ciftify
    ## make the $SUBJECTS_DIR if it does not already exist
    mkdir -p ${HCP_DATA}

    SUBJECTS=`cd $SUBJECTS_DIR; ls -1d *` ## list of my subjects
    HCP=`cd $HCP_DATA; ls -1d *` ## List of HCP Subjects 
    cd $HCP_DATA

    ## submit the files to the queue
    for i in $SUBJECTS;do

      for j in $HCP ; do

        if [[ $i == $j ]];then

           parallel "echo ciftify_subject_fmri $i/filtered_func_data.nii.gz $j fMRI " ::: $SUBJECTS |qbatch --walltime '05:00:00' --ppj 8 -c 4 -j 4 -N ciftify_subject_fmri -
        fi
    done
  done

当我在群集中运行此代码时,我收到错误消息

./Cifti_subject_fmri: [[AS1: command not found

查询ciftify_subject_fmri是toolbox ciftify的一部分,因为它执行它需要以下指令

ciftify_subject_fmri <func.nii.gz> <Subject> <NameOffMRI>

我有33个科目[AS1 -AS33],每个科目都有自己的func.nii.gz文件,位于SUBJECTS目录下,结果需要填写在HCP目录中,fMRI是文件格式的名称。

有人可以让我知道为什么我在循环中出现错误

0 个答案:

没有答案