1
異なるクライアントから異なるパラメータT
の測定値がたくさんあります。私は今、これは私のイテレーションごとに1つの出力を取得しbash - ファイルリスト内のワイルドカード
for rep in {1..5}
do
outfile=${OUTDIR}/"aux_rep${rep}.dat"
for T in {1..64}
do
files="${LOGDIR}/log_client"*"/client"*"_T=C=${T}_rep=${rep}.log"
echo "new iteration"
printf '%s\n' "${files[@]}"
done
done
固定T,rep
のためにすべてのクライアントのファイルを選択したい
${LOGDIR}/client<id>/client_<id>_blahblah_T=<param_value>_rep=<rep_no>.log
:ファイルが${LOGDIR}
に保存され、次の命名パターンに準拠しています
new iteration
/home/.../log_client*/client*_T=<param_value>_rep=<rep_no>.log
明らかに、私は明らかにこれらの*
が解決されたと思っていました。私は成功し、他のスクリプトで
files="${LOGDIR}/${prefix}"*"${interm}"*"${ext}"
を使用しましたので、(それがループ内ではなかったと、すべてのファイルが同じディレクトリにあったが)
そして、私は少し驚いています。
files
に正しいデータファイルを一覧表示するにはどうすればよいですか?
それをやった、ありがとう:
files
配列を取り込むために、このように変更する必要があり。しかし、なぜすべてのファイルが同じディレクトリにあったとしても、 '' files = "$ {LOGDIR}/$ {prefix}" * "$ {interm}" * "$ {ext}" '' – User1291これはグロブを展開せず、 'files'を展開して一致するファイル名を持つ配列にしません。 – anubhava
奇妙なことに、それはしました。とにかく、あなたがこれを行う正しい方法を投稿したので、それは重要ではありません。ちょうど不思議でした。 – User1291