簡體   English   中英

來自bash腳本的輸出循環遍歷多個目錄

[英]Output from a bash script looping through multiple directories

我目前正在嘗試編寫一個腳本,該腳本將遍歷多個目錄。 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 

謝謝。

您要將輸出保存到的目錄的名稱在$dir ,對嗎? 因此,只需通過重定向將輸出發送到那里即可:

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

但是,您應該確保要處理的實際上是一個目錄。

您可以使用find輸出運行循環並將輸出附加到所需的位置,如下所示:

while read d
do
    echo $d >> ~raw_data/subj0012/output
done < <(find ~raw_data -type d)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM