*bam
という拡張子を持つ複数のファイルをマージするJavaプログラムを実行する必要があります。プログラムの構造は次のとおりです。だから、ファイルを1行ずつ読み込んでJavaプログラムを実行
java -jar mergefiles.jar \
I=file1.bam \
I=file2.bam \
I=file3.bam \
O=output.bam
、私はディレクトリ内のすべての* BAMファイルのためにこのプログラムを実行しようとしています。
while read -r line; do
java -jar MergeFiles.jar \
I=$line \
O=output.bam
done < filenames.txt
しかし、プログラムを実行:最初は、私は次のように、* BAMファイル(filenames.txt)
file1.bam
file2.bam
file3.bam
と「しばらく」コマンドを使用しての名前のリストを作成しようテキストファイル内のファイルはそれぞれ*bam
ですが、すべてではありません(時間ごとに1つのファイルのみをマージし、出力を上書きします)。だから、どのようにすべての*bam
ファイルを再帰的にマージするプログラムを実行することができますか?
また、この問題を解決するためにbashに(ループを使用して)他のオプションがありますか?
ありがとうございます。
'xargs'または' parallel'を使うべきです。 [this quesion](https://stackoverflow.com/questions/3770432/xargs-with-multiple-arguments)を見て、必要な処理を行う必要があります。 –