为SGE任务ID指定非顺序数组

时间:2014-12-02 00:33:47

标签: shell awk qsub

我想提交一个包含SGE_TASK_ID非序列号列表的作业数组,我也会收到错误消息,"字符串的初始部分' file.sh&#39 ;不包含十进制数"。有什么建议吗?

我有一个包含我想用作SGE_TASK_IDs的值的文件。我将这个文件叫做#34; tasknumbers" (确切地说它在文件中的显示方式)。

3 
5 
10 
25 
50 
100 

我有一个shell脚本来检索要输入的值作为SGE_TASK_IDs

#!/bin/sh
#taskid.sh
taskid=~/folder/tasknumbers
id=$(awk "NR==SGE_TASK_ID" $taskid)

我有一个额外的文件,其中SGE_TASK_ID将用作输入参数,我将调用file.sh(这是一个包含任务ID并在测试中输入值的包装器。)

在我输入的终端中(返回错误):

qsub -cwd -N output -t $id ./file.sh -pe

错误:

qsub: Numerical value invalid!
The initial portion of string "./file.sh" contains no decimal number

1 个答案:

答案 0 :(得分:0)

也许这样的事情会起作用:

任务编号文件:

1
3 
5 
10 
25 
50 
100 

使用for循环为每个任务ID提交一个作业:

for id in `cat tasknumbers`
do
    qsub -cwd -N output -t $id ./file.sh -pe
done