.s.GNU并行,一次从文件中执行命令

时间:2015-01-21 17:05:22

标签: parallel-processing

我有一个名为macse.cmd的文件,其中包含1000个要执行的命令,每行1个命令。

我想使用并行执行30次。只要一切都是这样,我不在乎它们的执行顺序。

我尝试了“parallel -j 30 ./macse.cmd”,但这导致它们逐一运行,我甚至不知道如何阻止它们。

阿德里安

P.S。

命令看起来像:

java -jar -Xmx5000m ~/programs/macse_v1.01b.jar -prog alignSequences -seq M715_2100035271/all_unaligned.fasta -out_NT M715_2100035271/aligned_nt.fasta -out_AA M715_2100035271/aligned_aa.fasta
java -jar -Xmx5000m ~/programs/macse_v1.01b.jar -prog alignSequences -seq M715_100078281/all_unaligned.fasta -out_NT M715_100078281/aligned_nt.fasta -out_AA M715_100078281/aligned_aa.fasta
java -jar -Xmx5000m ~/programs/macse_v1.01b.jar -prog alignSequences -seq M715_510001221/all_unaligned.fasta -out_NT M715_510001221/aligned_nt.fasta -out_AA M715_510001221/aligned_aa.fasta
java -jar -Xmx5000m ~/programs/macse_v1.01b.jar -prog alignSequences -seq M715_100094159/all_unaligned.fasta -out_NT M715_100094159/aligned_nt.fasta -out_AA M715_100094159/aligned_aa.fasta

因此,只有M715_号在命令之间发生变化。

2 个答案:

答案 0 :(得分:0)

命令总是一样吗?如在

echo "A"
echo "B"
echo "C"

然后你应该把它改成:

"A"
"B"
"C"

并运行:parallel -j 30 -a macse.cmd echo当然echo是您的执行命令。

答案 1 :(得分:0)

parallel -j 30 < ./macse.cmd

或:

parallel java -jar -Xmx5000m ~/programs/macse_v1.01b.jar -prog alignSequences -seq {}/all_unaligned.fasta -out_NT {}/aligned_nt.fasta -out_AA {}/aligned_aa.fasta ::: M*/

完成教程:

man parallel_tutorial