2017-05-07 42 views
0

我有一些模擬的重新啓動。每次重啓的次數都不相同。對於後期處理,我必須將所有這些重新啓動的輸出合併到我可以分析的單個文件中。我對運行/重新啓動的命名約定很簡單。例如,對於run101,我將重新啓動將被命名爲run101r1,run101r2等加入來自多個目錄bash的文件

我想出了這個bash腳本:

vars=(a b c d e f) 
runname=$1 
for i in ${vars[*]}; do 
echo 'Combining movies for ' $i 
cat $runname/staging/movie.$i.000 $runname\r1/staging/movie.$i.001 > ./$i 
done 

唯一的問題是,鑑於不同號碼,不同的運行重新開始,我目前手動更改每次運行的第二行。有沒有一種方法,使倒數第二行成一個環路,這樣我可以簡單地調用腳本:

>combine_movies.sh run101 n 

其中n是重新啓動的次數?

回答

0

經過一番實驗,我能夠創建一個字符串並評估該字符串。這是最後的腳本:

vars=(a b c d e f) 
for i in ${vars[*]}; do 
    a="cat $1/staging/movie.$i.000 " 
    for j in $(seq 1 $2); do 
    a="$a $1r$j/staging/movie.$i.00$j " 
    done 
    a="$a > ./$i" 
    echo $a 
    eval $a 
done 

這可以清理更多?也許,做了一個更普遍和更傻的證明?

相關問題