我正在尝试编写一个bash脚本来对一些fMRI数据进行批处理。我的问题是我无法获得与感兴趣的目录中的特定模式匹配的文件名。
我的脚本看起来像这样
#!/bin/bash
inputpath="/Volumes/External_HD/Experiments/MRI_Data"
outputpath="/Volumes/External_HD/Experiments/MRI_Data_output"
anatomical_scans=$find `$inputpath` -name *mprage
# RUN BET
bet $anatomical_scans $outputpath
echo 'Finished!!!'
我得到的唯一输出是以下错误消息
-name: command not found
我对shell脚本的定义并不熟悉,所以如果这个问题听起来微不足道,我很抱歉。 任何帮助将不胜感激。
安东尼奥
编辑::已解决
探索建议我找到了使其无错误运行的正确方法
anatomical_scans=$(find $input_path -name "*mprage*")
由于
答案 0 :(得分:4)
尝试更改行
one(u)
$ inputpath anatomical_scans=$find
到
-name *mprage
答案 1 :(得分:1)
您可以执行以下操作:
#!/bin/bash
inputpath="/Volumes/External_HD/Experiments/MRI_Data"
outputpath="/Volumes/External_HD/Experiments/MRI_Data_output"
function anatomical_scans {
find $inputpath -name "*mprage"
}
# RUN BET
bet anatomical_scans $outputpath
echo "Finished!!!"
答案 2 :(得分:1)
您可以尝试以下操作,希望它可以提供帮助。
#!/bin/bash
inputpath="/Volumes/External_HD/Experiments/MRI_Data"
outputpath="/Volumes/External_HD/Experiments/MRI_Data_output"
anatomical_scans=`find $inputpath -name '*mprage'`
# RUN BET
bet $anatomical_scans $outputpath
echo 'Finished!!!'