0

私は現在、複数のディレクトリをループするスクリプトを作成しようとしています。メインのraw_dataディレクトリには最大150のサブディレクトリ(subj001、subj002、...、subj00n)が含まれ、各サブディレクトリには複数のサブディレクトリがあります。

以下に示すスクリプトからの出力が、現在のディレクトリ(raw_data)ではなく、入力が取得された特定のサブディレクトリ(subj0012など)に返送されるようにするにはどうすればよいですか?

#!/bin/bash

for dir in ~raw_data/*
do
  tractor -d -r -b preproc RunStages:1 
done 

ありがとうございました。

4

2 に答える 2

1

出力を保存するディレクトリの名前は in$dirですよね?したがって、リダイレクトを介してそこに出力を送信するだけです。

#!/bin/bash
for dir in ~raw_data/* ; do
    tractor -d -r- b preproc RunStages:1 > $dir/output
done

ただし、処理しているのは本当にディレクトリであることを確認する必要があります。

于 2012-06-07T16:13:30.243 に答える
0

の出力を使用findしてループを実行し、次のように出力を目的の場所に追加できます。

while read d
do
    echo $d >> ~raw_data/subj0012/output
done < <(find ~raw_data -type d)
于 2012-06-07T16:16:42.380 に答える