目前我正在尝试在Linux命令行上对成像文件(scan.nii.gz)运行MRI软件(TBSS)。
扫描全部存储在不同参与者的单独文件夹中,文件名相同,因此:
/home/scans/participant1/scan.nii.gz
/home/scans/participant2/scan.nii.gz
/home/scans/participant3/scan.nii.gz
该软件的作用是在当前工作目录中创建分析结果。由于扫描具有相同的图像名称,因此它们会被覆盖。
我想遍历所有参与者文件夹,将其作为我的工作目录,然后执行tbss命令,这只是tbss_1_preproc scan.nii.gz.这样,文件将存储在当前工作目录中,即参与者目录。
在Linux中有没有明智的方法呢?
非常感谢!
答案 0 :(得分:0)
在BASH中尝试。下面的代码未经测试,但它应该给你一个线索
#! /bin/bash
find . -name scan.nii.gz | while read line
do
cd $(dirname "${line}")
tbss_1_preproc $(basename "${line}")
done
将其放入文件中并使其可执行。将其复制到您的扫描文件夹并执行它。