我正在使用我们部门的计算集群和Sun Grid Engine。
当我必须运行多个R作业时,我通常编写名称为s01.sh、s02.sh、...、s50.sh的shell脚本文件,其内容为'R CMD BATCH r01.r','R CMD BATCH r02.r',...,'R CMD BATCH r50.r‘。
然后我打开'PUTTY',登录,然后必须输入'qsub s01.sh','qsub s02.sh‘....等。
如果有数百个工作,那么手动键入数百个工作是一项真正的劳动。有没有办法同时运行多个'qsub‘命令?
发布于 2016-10-21 21:55:43
假设要运行的脚本位于当前文件夹中:
for file in s*.sh; do qsub $file; done发布于 2016-10-15 08:03:10
我认为您只需要按顺序运行qsub命令,因为qsub本身应该相当快。(提交的命令可能会并行运行。)
你只需要一个循环。
假设您已经创建了r*.r文件,使用一个小的shell脚本很容易做到这一点:
#!/bin/bash
for file in r*.r ; do
script=$(echo $file | sed 's/^r/s/;s/\.r$/.sh/')
(
echo "#/bin/sh"
echo "R CMD BATCH $file"
) > $script
chmod +x $script
qsub $script
donehttps://stackoverflow.com/questions/40033183
复制相似问题