1

現在、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_1_preproc scan.nii.gz という tbss コマンドを実行します。このようにして、ファイルは参加者ディレクトリである現在の作業ディレクトリに保存されます。

Linux でこれを行う賢明な方法はありますか?

本当にありがとう !

4

1 に答える 1

0

BASHで試してみてください。以下のコードはテストされていませんが、手がかりになるはずです

#! /bin/bash

find . -name scan.nii.gz | while read line
do
   cd $(dirname "${line}")
   tbss_1_preproc $(basename "${line}")
done

ファイルに入れ、実行可能にします。これを scans フォルダーにコピーして実行します。

于 2015-05-07T10:41:08.243 に答える