0

我目前正在尝试编写一个循环遍历多个目录的脚本。主 raw_data 目录包含约 150 个子目录(subj001、subj002、...、subj00n),每个子目录都有几个子目录。

如何确保下面给出的脚本的输出将被发送回输入的特定子目录(例如 subj0012),而不是当前目录(raw_data)?

#!/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

您可以使用 output offind运行循环并将输出附加到所需位置,如下所示:

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